Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(167059)

Delta Between Two Patch Sets: Python/pythonrun.c

Issue 27809: _PyObject_FastCall(): add support for keyword arguments
Left Patch Set: Created 3 years, 3 months ago
Right Patch Set: Created 3 years, 3 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « Python/ceval.c ('k') | Python/sysmodule.c » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 1
2 /* Python interpreter top-level routines, including init/exit */ 2 /* Python interpreter top-level routines, including init/exit */
3 3
4 #include "Python.h" 4 #include "Python.h"
5 5
6 #include "Python-ast.h" 6 #include "Python-ast.h"
7 #undef Yield /* undefine macro conflicting with winbase.h */ 7 #undef Yield /* undefine macro conflicting with winbase.h */
8 #include "grammar.h" 8 #include "grammar.h"
9 #include "node.h" 9 #include "node.h"
10 #include "token.h" 10 #include "token.h"
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 _PySys_SetObjectId(&PyId_last_traceback, tb); 629 _PySys_SetObjectId(&PyId_last_traceback, tb);
630 } 630 }
631 hook = _PySys_GetObjectId(&PyId_excepthook); 631 hook = _PySys_GetObjectId(&PyId_excepthook);
632 if (hook) { 632 if (hook) {
633 PyObject* stack[3]; 633 PyObject* stack[3];
634 PyObject *result; 634 PyObject *result;
635 635
636 stack[0] = exception; 636 stack[0] = exception;
637 stack[1] = v; 637 stack[1] = v;
638 stack[2] = tb; 638 stack[2] = tb;
639 result = _PyObject_FastCall(hook, stack, 3, NULL); 639 result = _PyObject_FastCall(hook, stack, 3);
640 if (result == NULL) { 640 if (result == NULL) {
641 PyObject *exception2, *v2, *tb2; 641 PyObject *exception2, *v2, *tb2;
642 if (PyErr_ExceptionMatches(PyExc_SystemExit)) { 642 if (PyErr_ExceptionMatches(PyExc_SystemExit)) {
643 handle_system_exit(); 643 handle_system_exit();
644 } 644 }
645 PyErr_Fetch(&exception2, &v2, &tb2); 645 PyErr_Fetch(&exception2, &v2, &tb2);
646 PyErr_NormalizeException(&exception2, &v2, &tb2); 646 PyErr_NormalizeException(&exception2, &v2, &tb2);
647 /* It should not be possible for exception2 or v2 647 /* It should not be possible for exception2 or v2
648 to be NULL. However PyErr_Display() can't 648 to be NULL. However PyErr_Display() can't
649 tolerate NULLs, so just be safe. */ 649 tolerate NULLs, so just be safe. */
(...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after
1542 #undef PyRun_InteractiveLoop 1542 #undef PyRun_InteractiveLoop
1543 PyAPI_FUNC(int) 1543 PyAPI_FUNC(int)
1544 PyRun_InteractiveLoop(FILE *f, const char *p) 1544 PyRun_InteractiveLoop(FILE *f, const char *p)
1545 { 1545 {
1546 return PyRun_InteractiveLoopFlags(f, p, NULL); 1546 return PyRun_InteractiveLoopFlags(f, p, NULL);
1547 } 1547 }
1548 1548
1549 #ifdef __cplusplus 1549 #ifdef __cplusplus
1550 } 1550 }
1551 #endif 1551 #endif
LEFTRIGHT

RSS Feeds Recent Issues | This issue
This is Rietveld 894c83f36cb7+