summaryrefslogtreecommitdiffstats
path: root/Modules/readline.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-35441: Remove dead and buggy code related to PyList_SetItem(). (GH-11033)Zackery Spytz2018-12-081-2/+1
| | | | | | | | | | In _localemodule.c and selectmodule.c, remove dead code that would cause double decrefs if run. In addition, replace PyList_SetItem() with PyList_SET_ITEM() in cases where a new list is populated and there is no possibility of an error. In addition, check if the list changed size in the loop in array_array_fromlist().
* Fix compiler warning in call_readline() (GH-10820)Victor Stinner2018-11-301-3/+3
| | | | | | | | | | | | | | Replace strncpy() with memcpy() in call_readline() to fix the following warning, the NUL byte is written manually just after: Modules/readline.c: In function ‘call_readline’: Modules/readline.c:1303:9: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation] strncpy(p, q, n); ^~~~~~~~~~~~~~~~ Modules/readline.c:1279:9: note: length computed here n = strlen(p); ^~~~~~~~~
* bpo-13631: Fix the order of initialization for readline libedit on macOS. ↵Zvezdan Petkovic2018-05-171-1/+3
| | | | | | (GH-6915) The editline emulation needs to be initialized *after* the name is defined. This fixes the long open issue.
* bpo-29240: Fix locale encodings in UTF-8 Mode (#5170)Victor Stinner2018-01-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Modify locale.localeconv(), time.tzname, os.strerror() and other functions to ignore the UTF-8 Mode: always use the current locale encoding. Changes: * Add _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx(). On decoding or encoding error, they return the position of the error and an error message which are used to raise Unicode errors in PyUnicode_DecodeLocale() and PyUnicode_EncodeLocale(). * Replace _Py_DecodeCurrentLocale() with _Py_DecodeLocaleEx(). * PyUnicode_DecodeLocale() now uses _Py_DecodeLocaleEx() for all cases, especially for the strict error handler. * Add _Py_DecodeUTF8Ex(): return more information on decoding error and supports the strict error handler. * Rename _Py_EncodeUTF8_surrogateescape() to _Py_EncodeUTF8Ex(). * Replace _Py_EncodeCurrentLocale() with _Py_EncodeLocaleEx(). * Ignore the UTF-8 mode to encode/decode localeconv(), strerror() and time zone name. * Remove PyUnicode_DecodeLocale(), PyUnicode_DecodeLocaleAndSize() and PyUnicode_EncodeLocale() now ignore the UTF-8 mode: always use the "current" locale. * Remove _PyUnicode_DecodeCurrentLocale(), _PyUnicode_DecodeCurrentLocaleAndSize() and _PyUnicode_EncodeCurrentLocale().
* bpo-29240: Ignore UTF-8 Mode in time module (#5148)Victor Stinner2018-01-111-2/+1
| | | | | | time.strftime() must use the current LC_CTYPE encoding, not UTF-8 if the UTF-8 mode is enabled. Add _PyUnicode_DecodeCurrentLocale() function.
* bpo-29240: readline now ignores the UTF-8 Mode (#5145)Victor Stinner2018-01-101-2/+3
| | | | | | | | | | | | Add new fuctions ignoring the UTF-8 mode: * _Py_DecodeCurrentLocale() * _Py_EncodeCurrentLocale() * _PyUnicode_DecodeCurrentLocaleAndSize() * _PyUnicode_EncodeCurrentLocale() Modify the readline module to use these functions. Re-enable test_readline.test_nonascii().
* Fix CID-1414686: PyInit_readline() handles errors (#4647)Victor Stinner2017-11-301-4/+18
| | | | | | | | | | | | Handle PyModule_AddIntConstant() and PyModule_AddStringConstant() failures. Add also constants before calling setup_readline(), since setup_readline() registers callbacks which uses a reference to the module, whereas the module is destroyed if adding constants fails. Fix Coverity warning: CID 1414686: Unchecked return value (CHECKED_RETURN) 2. check_return: Calling PyModule_AddStringConstant without checking return value (as is done elsewhere 45 out of 55 times).
* bpo-28180: Fix the implementation of PEP 538 on Android (GH-4334)xdegaye2017-11-121-1/+1
|
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-071-24/+0
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* bpo-30946: Remove obsolete fallback code in readline module (#2738)Antoine Pitrou2017-07-181-46/+1
| | | | | | | | | | * Remove obsolete fallback code in readline module * Add NEWS * Remove obsolete include * Fix macro on Windows
* bpo-29854: test_readline logs versions (#2619)Victor Stinner2017-07-071-0/+1
| | | | | * test_readline logs the versions of libreadline when run in verbose mode * Add also readline._READLINE_LIBRARY_VERSION
* bpo-29854: Fix segfault in call_readline() (GH-728)Nir Soffer2017-07-071-4/+6
| | | | | | | | | | | | | If history-length is set in .inputrc, and the history file is double the history size (or more), history_get(N) returns NULL, and python segfaults. Fix that by checking for NULL return value. It seems that the root cause is incorrect handling of bigger history in readline, but Python should not segfault even if readline returns unexpected value. This issue affects only GNU readline. When using libedit emulation system history size option does not work.
* bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051)Serhiy Storchaka2017-04-161-4/+4
|
* Replace PyObject_CallFunction() with fastcallVictor Stinner2016-12-011-1/+1
| | | | | | | | | | | | | | | | | Replace PyObject_CallFunction(func, "O", arg) and PyObject_CallFunction(func, "O", arg, NULL) with _PyObject_CallArg1(func, arg) Replace PyObject_CallFunction(func, NULL) with _PyObject_CallNoArg(func) _PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate memory on the C stack.
* merge 3.5Benjamin Peterson2016-09-061-1/+1
|\
| * explicitly cast away constness to silence compiler warningBenjamin Peterson2016-09-061-1/+1
| |
* | Issue #19884: Merge Readline updates from 3.5Martin Panter2016-08-271-12/+15
|\ \ | |/
| * Issue #19884: Avoid spurious output on OS X with Gnu ReadlineMartin Panter2016-08-271-12/+15
| | | | | | | | | | Also adjust the test condition, because enable-meta-key was only added in 6.1, not 6.0.
* | Issue #16182: Merge readline locale fix from 3.5Martin Panter2016-06-141-38/+94
|\ \ | |/
| * Issue #16182: Fix readline begidx, endidx, and use locale encodingMartin Panter2016-06-141-38/+94
| | | | | | | | Based on patch by Serhiy Storchaka.
* | Issue #27171: Merge typo fixes from 3.5Martin Panter2016-06-021-1/+1
|\ \ | |/
| * Issue #27171: Fix typos in documentation, comments, and test function namesMartin Panter2016-06-021-1/+1
| |
* | Issue #26870: Add readline.set_auto_history(), originally by Tyler CromptonMartin Panter2016-05-151-1/+20
| |
* | Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-1/+1
|\ \ | |/
* | Issue #6953: Merge readline doc from 3.5Martin Panter2016-04-051-16/+16
|\ \ | |/
| * Issue #6953: Rearrange and expand Readline module documentationMartin Panter2016-04-051-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Group functions into six new subsections * Document the underlying Readline function or variable accessed * get_history_length() returns the history file limit * clear_history() is conditionally compiled in * Clarify zero and one bases for history item indexes * parse_and_bind() uses its argument directly as an init line * Change "command line" to "line buffer" for consistency * read_init_file() also executes the file * read_history_file() replaces the previous history * write_history_file() overwrites any existing file * Differentiate history file lines from history list items, which could be multi-line * Add more information about completion, also addressing Issue #10796 * libedit (Editline) may be used on any platform; detection is OS X specific
* | Issue #23735: Merge sighandler_t fix from 3.5Martin Panter2016-04-031-1/+1
|\ \ | |/
| * Issue #23735: Avoid sighandler_t Gnu-ismMartin Panter2016-04-031-1/+1
| |
* | Issue #23735: Merge Readline resize handling from 3.5Martin Panter2016-04-031-0/+31
|\ \ | |/
| * Issue #23735: Add SIGWINCH handler for Readline 6.3+ support, by Eric PriceMartin Panter2016-04-031-0/+31
| |
* | Issue #24266: Merge readline Ctrl+C handling from 3.5Martin Panter2016-03-221-0/+3
|\ \ | |/
| * Issue #24266: Cancel history search mode with Ctrl+C in Readline 7Martin Panter2016-03-221-0/+3
| |
* | Issue #15699: Merge readline fixup from 3.5Martin Panter2016-03-221-16/+3
|\ \ | |/
| * Issue #15699: Reunite comment with variableMartin Panter2016-03-221-16/+3
| |
* | Issue #20440: Cleaning up the code by using Py_SETREF.Serhiy Storchaka2016-01-051-3/+1
| |
* | Issue #25523: Merge a-to-an corrections from 3.5Martin Panter2015-11-021-1/+1
|\ \ | |/
| * Issue #25523: Merge "a" to "an" fixes from 3.4 into 3.5Martin Panter2015-11-021-1/+1
| |\
| | * Issue #25523: Correct "a" article to "an" articleMartin Panter2015-11-021-1/+1
| | | | | | | | | | | | | | | | | | This changes the main documentation, doc strings, source code comments, and a couple error messages in the test suite. In some cases the word was removed or edited some other way to fix the grammar.
* | | Issue #25203: Failed readline.set_completer_delims() no longer left theSerhiy Storchaka2015-09-271-4/+5
|\ \ \ | |/ / | | | | | | module in inconsistent state.
| * | Issue #25203: Failed readline.set_completer_delims() no longer left theSerhiy Storchaka2015-09-271-4/+5
| |\ \ | | |/ | | | | | | module in inconsistent state.
| | * Issue #25203: Failed readline.set_completer_delims() no longer left theSerhiy Storchaka2015-09-271-4/+5
| | | | | | | | | | | | module in inconsistent state.
* | | Issue #15989: Fixed some scarcely probable integer overflows.Serhiy Storchaka2015-09-061-1/+1
|/ / | | | | | | It is very unlikely that they can occur in real code for now.
* | merge 3.4 (#24058)Benjamin Peterson2015-04-261-2/+0
|\ \ | |/
| * remove extern definition, since it's in a header file (closes #24058)Benjamin Peterson2015-04-261-2/+0
| |
* | Issue 22940: fixes to editline supportNed Deily2014-11-261-1/+1
| |
* | only support append_history if readline has itBenjamin Peterson2014-11-261-0/+4
| |
* | add readline.append_history_file (closes #22940)Benjamin Peterson2014-11-261-0/+37
|/ | | | patch by "bru"
* Issue #22773: fix failing test with old readline versions due to issue #19884.Antoine Pitrou2014-11-041-0/+4
|
* Issue #19884, readline: calling rl_variable_bind ("enable-meta-key", "off")Victor Stinner2014-07-241-1/+5
| | | | does crash on Mac OS X which uses libedit instead of readline.
* Issue #19884: readline: Disable the meta modifier key if stdout is not aVictor Stinner2014-07-241-0/+11
| | | | | | terminal to not write the ANSI sequence "\033[1034h" into stdout. This sequence is used on some terminal (ex: TERM=xterm-256color") to enable support of 8 bit characters.