mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	#17032: The "global" in the "NameError: global name 'x' is not defined" error message has been removed. Patch by Ram Rachum.
This commit is contained in:
		
							parent
							
								
									ee71f4a8a4
								
							
						
					
					
						commit
						04a29554c1
					
				
					 4 changed files with 9 additions and 7 deletions
				
			
		|  | @ -182,10 +182,10 @@ def test_default_evaluation_order(self): | ||||||
|         with self.assertRaises(NameError) as err: |         with self.assertRaises(NameError) as err: | ||||||
|             def f(v=a, x=b, *, y=c, z=d): |             def f(v=a, x=b, *, y=c, z=d): | ||||||
|                 pass |                 pass | ||||||
|         self.assertEqual(str(err.exception), "global name 'b' is not defined") |         self.assertEqual(str(err.exception), "name 'b' is not defined") | ||||||
|         with self.assertRaises(NameError) as err: |         with self.assertRaises(NameError) as err: | ||||||
|             f = lambda v=a, x=b, *, y=c, z=d: None |             f = lambda v=a, x=b, *, y=c, z=d: None | ||||||
|         self.assertEqual(str(err.exception), "global name 'b' is not defined") |         self.assertEqual(str(err.exception), "name 'b' is not defined") | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def test_main(): | def test_main(): | ||||||
|  |  | ||||||
|  | @ -969,6 +969,7 @@ Fernando Pérez | ||||||
| Pierre Quentel | Pierre Quentel | ||||||
| Brian Quinlan | Brian Quinlan | ||||||
| Anders Qvist | Anders Qvist | ||||||
|  | Ram Rachum | ||||||
| Jérôme Radix | Jérôme Radix | ||||||
| Burton Radons | Burton Radons | ||||||
| Jeff Ramnani | Jeff Ramnani | ||||||
|  |  | ||||||
|  | @ -10,6 +10,9 @@ What's New in Python 3.4.0 Alpha 1? | ||||||
| Core and Builtins | Core and Builtins | ||||||
| ----------------- | ----------------- | ||||||
| 
 | 
 | ||||||
|  | - Issue #17032: The "global" in the "NameError: global name 'x' is not defined" | ||||||
|  |   error message has been removed.  Patch by Ram Rachum. | ||||||
|  | 
 | ||||||
| - Issue #17223: array module: Fix a crasher when converting an array containing | - Issue #17223: array module: Fix a crasher when converting an array containing | ||||||
|   invalid characters (outside range [U+0000; U+10ffff]) to Unicode: |   invalid characters (outside range [U+0000; U+10ffff]) to Unicode: | ||||||
|   repr(array), str(array) and array.tounicode(). Patch written by Manuel Jacob. |   repr(array), str(array) and array.tounicode(). Patch written by Manuel Jacob. | ||||||
|  |  | ||||||
|  | @ -142,8 +142,6 @@ static PyObject * special_lookup(PyObject *, _Py_Identifier *); | ||||||
| 
 | 
 | ||||||
| #define NAME_ERROR_MSG \ | #define NAME_ERROR_MSG \ | ||||||
|     "name '%.200s' is not defined" |     "name '%.200s' is not defined" | ||||||
| #define GLOBAL_NAME_ERROR_MSG \ |  | ||||||
|     "global name '%.200s' is not defined" |  | ||||||
| #define UNBOUNDLOCAL_ERROR_MSG \ | #define UNBOUNDLOCAL_ERROR_MSG \ | ||||||
|     "local variable '%.200s' referenced before assignment" |     "local variable '%.200s' referenced before assignment" | ||||||
| #define UNBOUNDFREE_ERROR_MSG \ | #define UNBOUNDFREE_ERROR_MSG \ | ||||||
|  | @ -2140,7 +2138,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) | ||||||
|             err = PyDict_DelItem(f->f_globals, name); |             err = PyDict_DelItem(f->f_globals, name); | ||||||
|             if (err != 0) { |             if (err != 0) { | ||||||
|                 format_exc_check_arg( |                 format_exc_check_arg( | ||||||
|                     PyExc_NameError, GLOBAL_NAME_ERROR_MSG, name); |                     PyExc_NameError, NAME_ERROR_MSG, name); | ||||||
|                 goto error; |                 goto error; | ||||||
|             } |             } | ||||||
|             DISPATCH(); |             DISPATCH(); | ||||||
|  | @ -2208,7 +2206,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) | ||||||
|                 if (v == NULL) { |                 if (v == NULL) { | ||||||
|                     if (!PyErr_Occurred()) |                     if (!PyErr_Occurred()) | ||||||
|                         format_exc_check_arg(PyExc_NameError, |                         format_exc_check_arg(PyExc_NameError, | ||||||
|                                              GLOBAL_NAME_ERROR_MSG, name); |                                              NAME_ERROR_MSG, name); | ||||||
|                     goto error; |                     goto error; | ||||||
|                 } |                 } | ||||||
|                 Py_INCREF(v); |                 Py_INCREF(v); | ||||||
|  | @ -2222,7 +2220,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) | ||||||
|                         if (PyErr_ExceptionMatches(PyExc_KeyError)) |                         if (PyErr_ExceptionMatches(PyExc_KeyError)) | ||||||
|                             format_exc_check_arg( |                             format_exc_check_arg( | ||||||
|                                         PyExc_NameError, |                                         PyExc_NameError, | ||||||
|                                         GLOBAL_NAME_ERROR_MSG, name); |                                         NAME_ERROR_MSG, name); | ||||||
|                         goto error; |                         goto error; | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ezio Melotti
						Ezio Melotti