source: patches/readline-6.0-branch_update-1.patch@ a10f292

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since a10f292 was 613a326, checked in by Jim Gifford <clfs@…>, 15 years ago

Added Readline Branch Update Patch

  • Property mode set to 100644
File size: 3.5 KB
  • readline-6.0

    Submitted By: Jim Gifford (jim at cross-lfs dot org)
    Date: 06-05-2009
    Initial Package Version: 6.0
    Origin: Upstream
    Upstream Status: Applied
    Description: Contains all upstream patches up to 6.0-003
    
    diff -Naur readline-6.0.orig/display.c readline-6.0/display.c
    old new  
    512512  /* Block keyboard interrupts because this function manipulates global
    513513     data structures. */
    514514  _rl_block_sigint (); 
     515  RL_SETSTATE (RL_STATE_REDISPLAYING);
    515516
    516517  if (!rl_display_prompt)
    517518    rl_display_prompt = "";
     
    12361237      visible_wrap_offset = wrap_offset;
    12371238  }
    12381239
     1240  RL_UNSETSTATE (RL_STATE_REDISPLAYING);
    12391241  _rl_release_sigint ();
    12401242}
    12411243
     
    17721774             space_to_eol will insert too many spaces.  XXX - maybe we should
    17731775             adjust col_lendiff based on the difference between _rl_last_c_pos
    17741776             and _rl_screenwidth */
    1775           if (col_lendiff && (_rl_last_c_pos < _rl_screenwidth))
     1777          if (col_lendiff && ((MB_CUR_MAX == 1 || rl_byte_oriented) || (_rl_last_c_pos < _rl_screenwidth)))
    17761778#endif
    17771779            {     
    17781780              if (_rl_term_autowrap && current_line < inv_botlin)
     
    18921894
    18931895  woff = WRAP_OFFSET (_rl_last_v_pos, wrap_offset);
    18941896  cpos = _rl_last_c_pos;
     1897
     1898  if (cpos == 0 && cpos == new)
     1899    return;
     1900
    18951901#if defined (HANDLE_MULTIBYTE)
    18961902  /* If we have multibyte characters, NEW is indexed by the buffer point in
    18971903     a multibyte string, but _rl_last_c_pos is the display position.  In
     
    19051911         prompt string, since they're both buffer indices and DPOS is a
    19061912         desired display position. */
    19071913      if ((new > prompt_last_invisible) ||              /* XXX - don't use woff here */
    1908           (prompt_physical_chars > _rl_screenwidth &&
     1914          (prompt_physical_chars >= _rl_screenwidth &&
    19091915           _rl_last_v_pos == prompt_last_screen_line &&
    1910            wrap_offset >= woff &&
     1916           wrap_offset >= woff && dpos >= woff &&
    19111917           new > (prompt_last_invisible-(_rl_screenwidth*_rl_last_v_pos)-wrap_offset)))
    19121918           /* XXX last comparison might need to be >= */
    19131919        {
  • readline-6.0

    diff -Naur readline-6.0.orig/patchlevel readline-6.0/patchlevel
    old new  
    11# Do not edit -- exists only for use by patch
    22
    3 0
     33
  • readline-6.0

    diff -Naur readline-6.0.orig/readline.h readline-6.0/readline.h
    old new  
    814814#define RL_STATE_VIMOTION       0x100000        /* reading vi motion arg */
    815815#define RL_STATE_MULTIKEY       0x200000        /* reading multiple-key command */
    816816#define RL_STATE_VICMDONCE      0x400000        /* entered vi command mode at least once */
     817#define RL_STATE_REDISPLAYING   0x800000        /* updating terminal display */
    817818
    818 #define RL_STATE_DONE           0x800000        /* done; accepted line */
     819#define RL_STATE_DONE           0x1000000       /* done; accepted line */
    819820
    820821#define RL_SETSTATE(x)          (rl_readline_state |= (x))
    821822#define RL_UNSETSTATE(x)        (rl_readline_state &= ~(x))
  • readline-6.0

    diff -Naur readline-6.0.orig/terminal.c readline-6.0/terminal.c
    old new  
    355355      _rl_get_screen_size (fileno (rl_instream), 1);
    356356      if (CUSTOM_REDISPLAY_FUNC ())
    357357        rl_forced_update_display ();
    358       else
     358      else if (RL_ISSTATE(RL_STATE_REDISPLAYING) == 0)
    359359        _rl_redisplay_after_sigwinch ();
    360360    }
    361361}
Note: See TracBrowser for help on using the repository browser.