https://lists.gnu.org/archive/html/bug-readline/2025-07/msg00012.html

*** a/input.c	Fri May  2 09:29:05 2025
--- b/input.c	Tue Jul  8 15:37:13 2025
***************
*** 262,266 ****
    tty = fileno (rl_instream);
  
!   /* Move this up here to give it first shot, but it can't set chars_avail */
    /* XXX - need rl_chars_available_hook? */
    if (rl_input_available_hook)
--- 262,267 ----
    tty = fileno (rl_instream);
  
!   /* Move this up here to give it first shot, but it can't set chars_avail,
!      so we assume a single character is available. */
    /* XXX - need rl_chars_available_hook? */
    if (rl_input_available_hook)
***************
*** 269,272 ****
--- 270,275 ----
        if (result == 0)
          result = -1;
+       else
+         chars_avail = 1;
      }
  
***************
*** 286,289 ****
--- 289,293 ----
        if (result <= 0)
  	return 0;	/* Nothing to read. */
+       result = -1;	/* there is something, so check how many chars below */
      }
  #endif
