#12 Update to readline-8.2 patchlevel 10
Merged 5 months ago by svashisht. Opened 5 months ago by svashisht.
rpms/ svashisht/readline readline-8.2-patchlevel-10  into  rawhide

@@ -0,0 +1,38 @@ 

+ diff --git a/complete.c b/complete.c

+ --- a/complete.c

+ +++ b/complete.c

+ @@ -2031,9 +2031,25 @@ rl_complete_internal (int what_to_do)

+  

+    text = rl_copy_text (start, end);

+    matches = gen_completion_matches (text, start, end, our_func, found_quote, quote_char);

+ +  /* If TEXT contains quote characters, it will be dequoted as part of

+ +     generating the matches, and the matches will not contain any quote

+ +     characters. We need to dequote TEXT before performing the comparison.

+ +     Since compare_match performs the dequoting, and we only want to do it

+ +     once, we don't call compare_matches after dequoting TEXT; we call

+ +     strcmp directly. */

+    /* nontrivial_lcd is set if the common prefix adds something to the word

+       being completed. */

+ -  nontrivial_lcd = matches && compare_match (text, matches[0]) != 0;

+ +  if (rl_filename_completion_desired && rl_filename_quoting_desired &&

+ +      rl_completion_found_quote && rl_filename_dequoting_function)

+ +    {

+ +      char *t;

+ +      t = (*rl_filename_dequoting_function) (text, rl_completion_quote_character);

+ +      xfree (text);

+ +      text = t;

+ +      nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;

+ +    }

+ +  else

+ +    nontrivial_lcd = matches && strcmp (text, matches[0]) != 0;

+    if (what_to_do == '!' || what_to_do == '@')

+      tlen = strlen (text);

+    xfree (text);

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -9

+ +10

@@ -0,0 +1,25 @@ 

+ diff --git a/display.c b/display.c

+ --- a/display.c

+ +++ b/display.c

+ @@ -2683,11 +2683,8 @@ rl_forced_update_display (void)

+    register char *temp;

+  

+    if (visible_line)

+ -    {

+ -      temp = visible_line;

+ -      while (*temp)

+ -	*temp++ = '\0';

+ -    }

+ +    memset (visible_line, 0, line_size);

+ +

+    rl_on_new_line ();

+    forced_display++;

+    (*rl_redisplay_function) ();

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -1

+ +2

@@ -0,0 +1,20 @@ 

+ diff --git a/colors.c b/colors.c

+ --- a/colors.c

+ +++ b/colors.c

+ @@ -73,7 +73,7 @@

+  static bool is_colored (enum indicator_no type);

+  static void restore_default_color (void);

+  

+ -#define RL_COLOR_PREFIX_EXTENSION	"readline-colored-completion-prefix"

+ +#define RL_COLOR_PREFIX_EXTENSION	".readline-colored-completion-prefix"

+  

+  COLOR_EXT_TYPE *_rl_color_ext_list = 0;

+  

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -2

+ +3

@@ -0,0 +1,39 @@ 

+ diff --git a/input.c b/input.c

+ --- a/input.c

+ +++ b/input.c

+ @@ -151,7 +151,9 @@ int rl_timeout_remaining (unsigned int *, unsigned int *);

+  

+  int _rl_timeout_init (void);

+  int _rl_timeout_sigalrm_handler (void);

+ +#if defined (RL_TIMEOUT_USE_SELECT)

+  int _rl_timeout_select (int, fd_set *, fd_set *, fd_set *, const struct timeval *, const sigset_t *);

+ +#endif

+  

+  static void _rl_timeout_handle (void);

+  #if defined (RL_TIMEOUT_USE_SIGALRM)

+ @@ -248,7 +250,7 @@ rl_gather_tyi (void)

+    register int tem, result;

+    int chars_avail, k;

+    char input;

+ -#if defined(HAVE_SELECT)

+ +#if defined (HAVE_PSELECT) || defined (HAVE_SELECT)

+    fd_set readfds, exceptfds;

+    struct timeval timeout;

+  #endif

+ @@ -805,7 +807,7 @@ rl_getc (FILE *stream)

+    int result;

+    unsigned char c;

+    int fd;

+ -#if defined (HAVE_PSELECT)

+ +#if defined (HAVE_PSELECT) || defined (HAVE_SELECT)

+    sigset_t empty_set;

+    fd_set readfds;

+  #endif

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -3

+ +4

@@ -0,0 +1,23 @@ 

+ diff --git a/callback.c b/callback.c

+ --- a/callback.c

+ +++ b/callback.c

+ @@ -115,7 +115,10 @@ rl_callback_handler_install (const char *prompt, rl_vcpfunc_t *linefunc)

+  #define CALLBACK_READ_RETURN() \

+    do { \

+      if (rl_persistent_signal_handlers == 0) \

+ -      rl_clear_signals (); \

+ +      { \

+ +        rl_clear_signals (); \

+ +        if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \

+ +      } \

+      return; \

+    } while (0)

+  #else

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -4

+ +5

@@ -0,0 +1,71 @@ 

+ diff --git a/input.c b/input.c

+ --- a/input.c

+ +++ b/input.c

+ @@ -804,7 +804,7 @@ rl_read_key (void)

+  int

+  rl_getc (FILE *stream)

+  {

+ -  int result;

+ +  int result, ostate, osig;

+    unsigned char c;

+    int fd;

+  #if defined (HAVE_PSELECT) || defined (HAVE_SELECT)

+ @@ -815,8 +815,22 @@ rl_getc (FILE *stream)

+    fd = fileno (stream);

+    while (1)

+      {

+ +      osig = _rl_caught_signal;

+ +      ostate = rl_readline_state;

+ +

+        RL_CHECK_SIGNALS ();

+  

+ +#if defined (READLINE_CALLBACKS)

+ +      /* Do signal handling post-processing here, but just in callback mode

+ +	 for right now because the signal cleanup can change some of the

+ +	 callback state, and we need to either let the application have a

+ +	 chance to react or abort some current operation that gets cleaned

+ +	 up by rl_callback_sigcleanup(). If not, we'll just run through the

+ +	 loop again. */

+ +      if (osig != 0 && (ostate & RL_STATE_CALLBACK))

+ +	goto postproc_signal;

+ +#endif

+ +

+        /* We know at this point that _rl_caught_signal == 0 */

+  

+  #if defined (__MINGW32__)

+ @@ -880,6 +894,9 @@ rl_getc (FILE *stream)

+  /* fprintf(stderr, "rl_getc: result = %d errno = %d\n", result, errno); */

+  

+  handle_error:

+ +      osig = _rl_caught_signal;

+ +      ostate = rl_readline_state;

+ +

+        /* If the error that we received was EINTR, then try again,

+  	 this is simply an interrupted system call to read ().  We allow

+  	 the read to be interrupted if we caught SIGHUP, SIGTERM, or any

+ @@ -920,8 +937,17 @@ handle_error:

+          RL_CHECK_SIGNALS ();

+  #endif  /* SIGALRM */

+  

+ +postproc_signal:

+ +      /* POSIX says read(2)/pselect(2)/select(2) don't return EINTR for any

+ +	 reason other than being interrupted by a signal, so we can safely

+ +	 call the application's signal event hook. */

+        if (rl_signal_event_hook)

+  	(*rl_signal_event_hook) ();

+ +#if defined (READLINE_CALLBACKS)

+ +      else if (osig == SIGINT && (ostate & RL_STATE_CALLBACK) && (ostate & (RL_STATE_ISEARCH|RL_STATE_NSEARCH|RL_STATE_NUMERICARG)))

+ +        /* just these cases for now */

+ +        _rl_abort_internal ();

+ +#endif

+      }

+  }

+  

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -5

+ +6

@@ -0,0 +1,23 @@ 

+ diff --git a/display.c b/display.c

+ --- a/display.c

+ +++ b/display.c

+ @@ -3338,9 +3338,9 @@ _rl_update_final (void)

+        puts_face (&last_line[_rl_screenwidth - 1 + woff],

+  		 &last_face[_rl_screenwidth - 1 + woff], 1);

+      }

+ -  _rl_vis_botlin = 0;

+ -  if (botline_length > 0 || _rl_last_c_pos > 0)

+ +  if ((_rl_vis_botlin == 0 && botline_length == 0) || botline_length > 0 || _rl_last_c_pos > 0)

+      rl_crlf ();

+ +  _rl_vis_botlin = 0;

+    fflush (rl_outstream);

+    rl_display_fixed++;

+  }

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -6

+ +7

@@ -0,0 +1,48 @@ 

+ diff --git a/bind.c b/bind.c

+ --- a/bind.c

+ +++ b/bind.c

+ @@ -1167,9 +1167,7 @@ _rl_init_file_error (va_alist)

+  /* **************************************************************** */

+  

+  static int

+ -parse_comparison_op (s, indp)

+ -     const char *s;

+ -     int *indp;

+ +parse_comparison_op (const char *s, int *indp)

+  {

+    int i, peekc, op;

+  

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -7

+ +8

+ diff --git a/rltty.c b/rltty.c

+ --- a/rltty.c

+ +++ b/rltty.c

+ @@ -80,8 +80,7 @@ static int ksrflow;

+  /* Dummy call to force a backgrounded readline to stop before it tries

+     to get the tty settings. */

+  static void

+ -set_winsize (tty)

+ -     int tty;

+ +set_winsize (int tty)

+  {

+  #if defined (TIOCGWINSZ)

+    struct winsize w;

+ diff --git a/text.c b/text.c

+ --- a/text.c

+ +++ b/text.c

+ @@ -1764,8 +1764,7 @@ _rl_char_search (int count, int fdir, int bdir)

+  

+  #if defined (READLINE_CALLBACKS)

+  static int

+ -_rl_char_search_callback (data)

+ -     _rl_callback_generic_arg *data;

+ +_rl_char_search_callback (_rl_callback_generic_arg *data)

+  {

+    _rl_callback_func = 0;

+    _rl_want_redisplay = 1;

@@ -0,0 +1,41 @@ 

+ diff --git a/complete.c b/complete.c

+ --- a/complete.c

+ +++ b/complete.c

+ @@ -2526,7 +2526,8 @@ rl_filename_completion_function (const char *text, int state)

+  	  temp = tilde_expand (dirname);

+  	  xfree (dirname);

+  	  dirname = temp;

+ -	  tilde_dirname = 1;

+ +	  if (*dirname != '~')

+ +	    tilde_dirname = 1;	/* indicate successful tilde expansion */

+  	}

+  

+        /* We have saved the possibly-dequoted version of the directory name

+ @@ -2545,11 +2546,16 @@ rl_filename_completion_function (const char *text, int state)

+  	  xfree (users_dirname);

+  	  users_dirname = savestring (dirname);

+  	}

+ -      else if (tilde_dirname == 0 && rl_completion_found_quote && rl_filename_dequoting_function)

+ +      else if (rl_completion_found_quote && rl_filename_dequoting_function)

+  	{

+ -	  /* delete single and double quotes */

+ +	  /* We already ran users_dirname through the dequoting function.

+ +	     If tilde_dirname == 1, we successfully performed tilde expansion

+ +	     on dirname. Now we need to reconcile those results. We either

+ +	     just copy the already-dequoted users_dirname or tilde expand it

+ +	     if we tilde-expanded dirname. */

+ +	  temp = tilde_dirname ? tilde_expand (users_dirname) : savestring (users_dirname);

+  	  xfree (dirname);

+ -	  dirname = savestring (users_dirname);

+ +	  dirname = temp;

+  	}

+        directory = opendir (dirname);

+  

+ diff --git a/patchlevel b/patchlevel

+ --- a/patchlevel

+ +++ b/patchlevel

+ @@ -1,3 +1,3 @@

+  # Do not edit -- exists only for use by patch

+  

+ -8

+ +9

file modified
+14 -1
@@ -1,7 +1,7 @@ 

  Summary: A library for editing typed command lines

  Name: readline

  Version: 8.2

- Release: 6%{?dist}

+ Release: 7%{?dist}

  

  # * Main sources are GPL-3.0-or-later

  # * examples/rlfe are GPL-2.0-or-later
@@ -14,6 +14,15 @@ 

  # Official upstream patches

  # Patches are converted to apply with '-p1'

  Patch1: readline-8.2-patch-1.patch

+ Patch2: readline-8.2-patch-2.patch

+ Patch3: readline-8.2-patch-3.patch

+ Patch4: readline-8.2-patch-4.patch

+ Patch5: readline-8.2-patch-5.patch

+ Patch6: readline-8.2-patch-6.patch

+ Patch7: readline-8.2-patch-7.patch

+ Patch8: readline-8.2-patch-8.patch

+ Patch9: readline-8.2-patch-9.patch

+ Patch10: readline-8.2-patch-10.patch

  

  # Other patches

  # Remove RPATH, use CFLAGS
@@ -88,6 +97,10 @@ 

  %{_libdir}/libhistory.a

  

  %changelog

+ * Mon Jan 22 2024 Siteshwar Vashisht <svashisht@redhat.com> - 8.2-7

+ - Update to readline-8.2 patchlevel 10

+   Resolves: #2259635

+ 

  * Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 8.2-6

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

  

As with the bash update, the spec changes look fine and the patches are applied correctly.

I don't have nothing against doing review for complex spec changes or updates but I don't see the gain for minor updates like this.

Build succeeded.
https://fedora.softwarefactory-project.io/zuul/buildset/d1b506d931b84472bf720d0ce284b7fd

Pull-Request has been merged by svashisht

5 months ago