summaryrefslogtreecommitdiffstats
path: root/Parser/myreadline.c
Commit message (Collapse)AuthorAgeFilesLines
* As discussed on python-dev, really fix the PyMem_*/PyObject_* memory APINeal Norwitz2006-04-111-5/+5
| | | | | | | | | | | | | | | | mismatches. At least I hope this fixes them all. This reverts part of my change from yesterday that converted everything in Parser/*.c to use PyObject_* API. The encoding doesn't really need to use PyMem_*, however, it uses new_string() which must return PyMem_* for handling the result of PyOS_Readline() which returns PyMem_* memory. If there were 2 versions of new_string() one that returned PyMem_* for tokens and one that return PyObject_* for encodings that could also fix this problem. I'm not sure which version would be clearer. This seems to fix both Guido's and Phillip's problems, so it's good enough for now. After this change, it would be good to review Parser/*.c for consistent use of the 2 memory APIs.
* Fix the code in Parser/ to also compile with C++. This was mostly casts forAnthony Baxter2006-04-111-3/+3
| | | | | | | malloc/realloc type functions, as well as renaming one variable called 'new' in tokensizer.c. Still lots more to be done, going to be checking in one chunk at a time or the patch will be massively huge. Still compiles ok with gcc.
* SF patch #1467512, fix double free with triple quoted string in standard build.Neal Norwitz2006-04-101-5/+5
| | | | | | This was the result of inconsistent use of PyMem_* and PyObject_* allocators. By changing to use PyObject_* allocator almost everywhere, this removes the inconsistency.
* In a threads-disabled build, typing Ctrl-C into a raw_input() crashed,Michael W. Hudson2005-04-071-0/+4
| | | | | | | | | because (essentially) I didn't realise that PY_BEGIN/END_ALLOW_THREADS actually expanded to nothing under a no-threads build, so if you somehow NULLed out the threadstate (e.g. by calling PyThread_SaveThread) it would stay NULLed when you return to Python. Argh! Backport candidate.
* PyThreadState_Swap(NULL) didn't do what I thought it did. FixesMichael W. Hudson2004-07-081-1/+1
| | | | [ 987287 ] Python 2.4a1, interpreter hanging on Keyboard Interrupt
* "#if WITH_THREAD" is incorrect; must be #ifdef instead; WITH_THREADTim Peters2004-07-071-4/+4
| | | | isn't always set to an integer value when it's defined.
* This closes patch:Michael W. Hudson2004-07-071-3/+38
| | | | | | | | | | | | | | | | | [ 960406 ] unblock signals in threads although the changes do not correspond exactly to any patch attached to that report. Non-main threads no longer have all signals masked. A different interface to readline is used. The handling of signals inside calls to PyOS_Readline is now rather different. These changes are all a bit scary! Review and cross-platform testing much appreciated.
* Getting rid of support for the ancient Apple MPW compiler.Jack Jansen2003-11-191-7/+0
|
* Patch #708495: Port more stuff to OpenVMS.Martin v. Löwis2003-05-031-0/+8
|
* Patch #512981: Update readline input stream on sys.stdin/out change.Martin v. Löwis2002-10-261-8/+20
|
* Fix bug 439992 - [win32] KeyboardInterrupt Not Caught.Mark Hammond2002-07-141-0/+33
| | | | This gets us closer to consistent Ctrl+C behaviour on NT and Win9x. NT now reliably generates KeyboardInterrupt exceptions for NT when a file IO operation was aborted. Bugfix candidate
* RISCOS changes by dschwertberger.Guido van Rossum2001-03-021-0/+13
|
* Rationalize use of limits.h, moving the inclusion to Python.h.Fred Drake2000-09-261-3/+0
| | | | | | | | Add definitions of INT_MAX and LONG_MAX to pyport.h. Remove includes of limits.h and conditional definitions of INT_MAX and LONG_MAX elsewhere. This closes SourceForge patch #101659 and bug #115323.
* REMOVED all CWI, CNRI and BeOpen copyright markings.Guido van Rossum2000-09-011-9/+0
| | | | This should match the situation in the 1.6b1 tree.
* Mass ANSIfication.Thomas Wouters2000-07-221-9/+4
| | | | | | Work around intrcheck.c's desire to pass 'PyErr_CheckSignals' to 'Py_AddPendingCall' by providing a (static) wrapper function that has the right number of arguments.
* Nuke all remaining occurrences of Py_PROTO and Py_FPROTO.Tim Peters2000-07-091-1/+1
|
* Include limits.h if we have it.Jack Jansen2000-07-031-0/+3
|
* Change copyright notice - 2nd try.Guido van Rossum2000-06-301-6/+0
|
* Change copyright notice.Guido van Rossum2000-06-301-22/+7
|
* Trent Mick: familiar simple Win64 patchesGuido van Rossum2000-06-281-4/+7
|
* Vladimir Marangozov's long-awaited malloc restructuring.Guido van Rossum2000-05-031-5/+7
| | | | | | | | | | For more comments, read the patches@python.org archives. For documentation read the comments in mymalloc.h and objimpl.h. (This is not exactly what Vladimir posted to the patches list; I've made a few changes, and Vladimir sent me a fix in private email for a problem that only occurs in debug mode. I'm also holding back on his change to main.c, which seems unnecessary to me.)
* The previous fix was still broken; the Py_END_ALLOW_THREADS macro wasGuido van Rossum1998-08-291-1/+3
| | | | never executed because of a return statement. Sigh.
* We now assume that PyOS_Readline() is called with the interpreter lockGuido van Rossum1998-08-271-11/+3
| | | | | held. It releases the lock around the call to the function pointed to by PyOS_ReadlineFunctionPointer (default PyOS_StdioReadline()).
* Renamed Py_input_hook to PyOS_InputHook.Guido van Rossum1997-08-111-3/+3
| | | | Also cleaned out some CR's left by the VC++ editor.
* Move GNU readline interface to ../Modules/readline.c.Guido van Rossum1997-08-051-78/+3
| | | | Add Py_input_hook (used by _tkinter and perhaps Gist).
* Remove two unised variables.Guido van Rossum1997-04-091-2/+0
|
* Restructured quite a bit, hopefully Lee Busby will find this useful.Guido van Rossum1997-02-181-50/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also grandly renamed. Here's the new interface: When WITH_READLINE is defined, two functions are defined: - PyOS_GnuReadline (what used to be my_readline() with WITH_READLINE) - PyOS_ReadlineInit (for Dave Ascher) Always, these functions are defined: - PyOS_StdioReadline (what used to be my_readline() without WITH_READLINE) - PyOS_Readline (the interface used by tokenizer.c and [raw_]input(). There's a global function pointer PyOS_ReadlineFunctionPointer, initialized to NULL. When PyOS_Readline finds this to be NULL, it sets it to either PyOS_GnuReadline or PyOS_StdioReadline depending on which one makes more sense (i.e. it uses GNU only if it is defined *and* stdin is indeed a tty device). An embedding program that has its own wishes can set the function pointer to a function of its own design. It should take a char* prompt argument (which may be NULL) and return a string *ending in a \n character* -- or "" for EOF or NULL for a user interrupt. --Guido van Rossum (home page: http://www.python.org/~guido/)
* Make gcc -Wall happyGuido van Rossum1996-12-021-0/+2
|
* New permission notice, includes CNRI.Guido van Rossum1996-10-251-13/+20
|
* Explicitly call rl_initialize().Guido van Rossum1996-09-131-1/+5
| | | | | Set rl_readline_name to python. Move extern decls to more logical point.
* Always include config.hGuido van Rossum1996-08-191-2/+0
|
* Only define PyOS_ReadlineInit if WITH_READLINE defined.Guido van Rossum1996-05-241-0/+2
|
* Separate readline initialization into new function PyOS_ReadlineInit().Guido van Rossum1996-04-091-7/+14
| | | | For Dave Ascher's readline extensions.
* add sigrelse() call for SunOS 4.1; add some fflush() callsGuido van Rossum1996-01-121-0/+6
|
* Added 1995 to copyright message.Guido van Rossum1995-01-041-2/+2
|
* Merge alpha100 branch back to main trunkGuido van Rossum1994-08-011-10/+67
|
* NoneGuido van Rossum1993-12-241-0/+119