Issue 23067: Export readline forced_update_display (original) (raw)

Created on 2014-12-16 19:29 by dexteradeus, last changed 2022-04-11 14:58 by admin.

Files
File name Uploaded Description Edit
readline_redisplay_force.patch dexteradeus,2014-12-16 19:29
test-rdline.py zer0,2015-02-17 19:57 readline test example
readline_add_forced_update_display.patch zer0,2015-02-17 20:01 Another way to fix the problem (patch) review
Messages (4)
msg232757 - (view) Author: Chris Hand (dexteradeus) * Date: 2014-12-16 19:29
The current implementation of readline implements the redisplay function, but not the forced version. This patch maintains the current behavior as the default, but also allows a bool to be passed which, if True, calls rl_forced_update_display instead.
msg236147 - (view) Author: Olivier Matz (zer0) Date: 2015-02-17 19:57
Hi, I'm also interrested in this feature. Indeed, exporting rl_forced_update_display() is the only way I've found to make readline.set_completion_display_matches_hook() working properly. Without forcing the redisplay, the prompt is not displayed. This seems to be the proper function to call, because that's the one called at the end of display_matches() in libreadline code, which is the default function for displaying matches. The attached file is a simple example code derived from http://pymotw.com/2/readline/ that shows that the patch is working.
msg236148 - (view) Author: Olivier Matz (zer0) Date: 2015-02-17 20:01
By the way, I have my own implementation of the patch that did before checking the issue tracker. Instead of adding an argument to readline.redisplay(), it adds a new function readline.forced_update_display(). I attach the patch for reference, I don't know what is the preferred way to add this feature.
msg247847 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2015-08-02 01:23
There are actually a few other patches open adding wrappers for rl_forced_update_display(): * Issue 1175004: From 2005, other APIs as well * Issue 24727: Includes documentation As well as the documentation, I think it would be good to add a test case for new functionality if possible.
History
Date User Action Args
2022-04-11 14:58:11 admin set github: 67256
2015-08-02 01:30:30 martin.panter link issue24727 dependencies
2015-08-02 01:26:19 martin.panter link issue1175004 dependencies
2015-08-02 01:23:39 martin.panter set versions: + Python 3.6, - Python 3.4nosy: + martin.pantermessages: + stage: needs patch
2015-02-17 20:01:48 zer0 set files: + readline_add_forced_update_display.patchmessages: +
2015-02-17 19:57:41 zer0 set files: + test-rdline.pynosy: + zer0messages: +
2014-12-16 19:29:14 dexteradeus create