[Python-checkins] CVS: python/dist/src/Tools/idle PyShell.py,1.31,1.32

Guido van Rossum gvanrossum@users.sourceforge.net
Mon, 26 Mar 2001 09:41:38 -0800


Update of /cvsroot/python/python/dist/src/Tools/idle
In directory usw-pr-cvs1:/tmp/cvs-serv30691

Modified Files:
	PyShell.py 
Log Message:
Turn SyntasWarning into SyntaxError for all code entered
interactively.


Index: PyShell.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Tools/idle/PyShell.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -r1.31 -r1.32
*** PyShell.py	2001/01/17 08:48:39	1.31
--- PyShell.py	2001/03/26 17:41:35	1.32
***************
*** 6,9 ****
--- 6,10 ----
  import getopt
  import re
+ import warnings
  
  import linecache
***************
*** 181,185 ****
          filename = self.stuffsource(source)
          self.more = 0
!         return InteractiveInterpreter.runsource(self, source, filename)
  
      def stuffsource(self, source):
--- 182,193 ----
          filename = self.stuffsource(source)
          self.more = 0
!         self.save_warnings_filters = warnings.filters[:]
!         warnings.filterwarnings(action="error", category=SyntaxWarning)
!         try:
!             return InteractiveInterpreter.runsource(self, source, filename)
!         finally:
!             if self.save_warnings_filters is not None:
!                 warnings.filters[:] = self.save_warnings_filters
!                 self.save_warnings_filters = None
  
      def stuffsource(self, source):
***************
*** 250,253 ****
--- 258,264 ----
      def runcode(self, code):
          # Override base class method
+         if self.save_warnings_filters is not None:
+             warnings.filters[:] = self.save_warnings_filters
+             self.save_warnings_filters = None
          debugger = self.debugger
          try: