msg149813 - (view) |
Author: Zvezdan Petkovic (zvezdan) * |
Date: 2011-12-19 04:05 |
Problem ======= The changes in r87356 for py3k and r87358 for python-2.7 described in issue 9907 have broken parsing of the initialization file .editrc under editline emulation of readline on Mac OS X. Background ========== Both readline and editline allow settings customized per program. For example, .inputrc file for readline:: ifPythonsetediting−modeviif Python set editing-mode vi ifPythonsetediting−modeviendif will be applied only to Python processes. Similarly, .editrc file for editline:: python:bind -v python:bind ^I rl_complete will be applied only to Python processes on Mac OS X. This works fine on python-2.6. It's broken on 2.7 and 3.2 and later because the change in issue 9907 moved the rl_initialize() call towards the beginning of the setup function. Solution ======== The rl_readline_name variable must be set to "python" **before** the call to rl_initialize(). Attached are patches for 2.7 and 3.2. |
|
|
msg150945 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2012-01-09 16:09 |
Thanks for the analysis and patch. Have you tested that your patch does not break the readline module when linking against GNU readline? If not, I can do it. |
|
|
msg150957 - (view) |
Author: Zvezdan Petkovic (zvezdan) * |
Date: 2012-01-09 17:39 |
I did not test against a readline build. |
|
|
msg151133 - (view) |
Author: Éric Araujo (eric.araujo) *  |
Date: 2012-01-12 16:04 |
I applied your patch and built the readline module against libreadline and imported it successfully. (I did not try the special parsing feature, but I don’t think it’s needed.) |
|
|
msg193093 - (view) |
Author: Ronald Oussoren (ronaldoussoren) *  |
Date: 2013-07-15 12:38 |
I can confirm the problem and that the patch fixes the issue. I'll try to commit a fix later this week. |
|
|
msg219561 - (view) |
Author: Ned Deily (ned.deily) *  |
Date: 2014-06-02 09:36 |
It appears that Apple's update to editline in OS X 10.9 Mavericks has also broken this patch; with refreshing, it still works with the system editline in 10.8. So, like the fix for Issue18458, we need to make sure that the fix works with either version of a dynamically loaded libedit. Zvezdan, it would be good if you would be willing to sign the Python contributor agreement for your patch: https://www.python.org/psf/contrib/contrib-form/ |
|
|
msg219735 - (view) |
Author: Zvezdan Petkovic (zvezdan) * |
Date: 2014-06-04 00:31 |
Ned, I just signed the contributor agreement form. |
|
|
msg316885 - (view) |
Author: Ned Deily (ned.deily) *  |
Date: 2018-05-17 06:45 |
New changeset c2f082e9d164acfa8f96de9526f0f47ae92c426a by Ned Deily (Zvezdan Petkovic) in branch 'master': bpo-13631: Fix the order of initialization for readline libedit on macOS. (GH-6915) https://github.com/python/cpython/commit/c2f082e9d164acfa8f96de9526f0f47ae92c426a |
|
|
msg316894 - (view) |
Author: Ned Deily (ned.deily) *  |
Date: 2018-05-17 07:27 |
New changeset d504108a88bd14a560dec875df682f4e581490e5 by Ned Deily (Miss Islington (bot)) in branch '3.7': bpo-13631: Fix the order of initialization for readline libedit on macOS. (GH-6915) (GH-6928) https://github.com/python/cpython/commit/d504108a88bd14a560dec875df682f4e581490e5 |
|
|
msg316895 - (view) |
Author: Ned Deily (ned.deily) *  |
Date: 2018-05-17 07:33 |
Thanks for the patch and PR, Zvezdan! Merged for 3.7.0 and 3.8.0. |
|
|