classification
Title: readline does not offer partial saves
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: bru, python-dev
Priority: normal Keywords: patch

Created on 2014-11-25 14:30 by bru, last changed 2014-11-26 21:03 by python-dev. This issue is now closed.

Files
File name Uploaded Description Edit
0001-Add-readline.append_history_file-function.patch bru, 2014-11-25 14:30 Patch adding readline.append_history_file(nelements, [filepath]) review
Messages (3)
msg231661 - (view) Author: Bruno Cauet (bru) * Date: 2014-11-25 14:30
The "readline" module offers "write_history_file" from readline/history.h "write_history", but there's no "append_history_file" that would invoke "append_history" from the C header.

This causes inconveniences when saving history to a file (like shown there: https://docs.python.org/3.5/library/readline.html?highlight=readline#example). Indeed, say you have 2 interpreters (A) and (B) open.
- (A) and (B) load the history, composed of (z) lines
- you work on both, writing (a) lines in (A) and (b) lines in (b)
- you close (A), the history file now has (z)+(a)
- you close (B), the history file now has (z)+(b)
Therefore (A) history (the (a) lines) is lost. Offering "append_history_file" would be a nice way to fix this problem: having (z)+(a)+(b) in the end would be easy.

This is exactly what the attached patch does. With it are tests, doc and an example. I've not updated Misc/NEWS yet though (no issue #).
msg231726 - (view) Author: Roundup Robot (python-dev) Date: 2014-11-26 19:58
New changeset ff00588791be by Benjamin Peterson in branch 'default':
add readline.append_history_file (closes #22940)
https://hg.python.org/cpython/rev/ff00588791be
msg231730 - (view) Author: Roundup Robot (python-dev) Date: 2014-11-26 21:03
New changeset c8bcede1b37a by Ned Deily in branch 'default':
Issue 22940: fixes to editline support
https://hg.python.org/cpython/rev/c8bcede1b37a
History
Date User Action Args
2014-11-26 21:03:20python-devsetmessages: + msg231730
2014-11-26 19:58:42python-devsetstatus: open -> closed

nosy: + python-dev
messages: + msg231726

resolution: fixed
stage: resolved
2014-11-25 14:30:57brucreate