1- import importlib
21import importlib .abc
32import importlib .util
43import os
@@ -147,7 +146,7 @@ def __init__(self, flist=None, filename=None, key=None, root=None):
147146 text .bind ("<<python-docs>>" , self .python_docs )
148147 text .bind ("<<about-idle>>" , self .about_dialog )
149148 text .bind ("<<open-config-dialog>>" , self .config_dialog )
150- text .bind ("<<open-module>>" , self .open_module )
149+ text .bind ("<<open-module>>" , self .open_module_event )
151150 text .bind ("<<do-nothing>>" , lambda event : "break" )
152151 text .bind ("<<select-all>>" , self .select_all )
153152 text .bind ("<<remove-selection>>" , self .remove_selection )
@@ -294,7 +293,7 @@ def new_callback(self, event):
294293 def home_callback (self , event ):
295294 if (event .state & 4 ) != 0 and event .keysym == "Home" :
296295 # state&4==Control. If <Control-Home>, use the Tk binding.
297- return
296+ return None
298297 if self .text .index ("iomark" ) and \
299298 self .text .compare ("iomark" , "<=" , "insert lineend" ) and \
300299 self .text .compare ("insert linestart" , "<=" , "iomark" ):
@@ -423,6 +422,7 @@ def right_menu_event(self, event):
423422 rmenu .tk_popup (event .x_root , event .y_root )
424423 if iswin :
425424 self .text .config (cursor = "ibeam" )
425+ return "break"
426426
427427 rmenu_specs = [
428428 # ("Label", "<<virtual-event>>", "statefuncname"), ...
@@ -464,11 +464,13 @@ def about_dialog(self, event=None):
464464 "Handle Help 'About IDLE' event."
465465 # Synchronize with macosx.overrideRootMenu.about_dialog.
466466 help_about .AboutDialog (self .top )
467+ return "break"
467468
468469 def config_dialog (self , event = None ):
469470 "Handle Options 'Configure IDLE' event."
470471 # Synchronize with macosx.overrideRootMenu.config_dialog.
471472 configdialog .ConfigDialog (self .top ,'Settings' )
473+ return "break"
472474
473475 def help_dialog (self , event = None ):
474476 "Handle Help 'IDLE Help' event."
@@ -478,6 +480,7 @@ def help_dialog(self, event=None):
478480 else :
479481 parent = self .top
480482 help .show_idlehelp (parent )
483+ return "break"
481484
482485 def python_docs (self , event = None ):
483486 if sys .platform [:3 ] == 'win' :
@@ -497,7 +500,7 @@ def cut(self,event):
497500 def copy (self ,event ):
498501 if not self .text .tag_ranges ("sel" ):
499502 # There is no selection, so do nothing and maybe interrupt.
500- return
503+ return None
501504 self .text .event_generate ("<<Copy>>" )
502505 return "break"
503506
@@ -515,6 +518,7 @@ def select_all(self, event=None):
515518 def remove_selection (self , event = None ):
516519 self .text .tag_remove ("sel" , "1.0" , "end" )
517520 self .text .see ("insert" )
521+ return "break"
518522
519523 def move_at_edge_if_selection (self , edge_index ):
520524 """Cursor move begins at start or end of selection
@@ -575,8 +579,9 @@ def goto_line_event(self, event):
575579 return "break"
576580 text .mark_set ("insert" , "%d.0" % lineno )
577581 text .see ("insert" )
582+ return "break"
578583
579- def open_module (self , event = None ):
584+ def open_module (self ):
580585 """Get module name from user and open it.
581586
582587 Return module path or None for calls by open_class_browser
@@ -600,21 +605,27 @@ def open_module(self, event=None):
600605 self .io .loadfile (file_path )
601606 return file_path
602607
608+ def open_module_event (self , event ):
609+ self .open_module ()
610+ return "break"
611+
603612 def open_class_browser (self , event = None ):
604613 filename = self .io .filename
605614 if not (self .__class__ .__name__ == 'PyShellEditorWindow'
606615 and filename ):
607616 filename = self .open_module ()
608617 if filename is None :
609- return
618+ return "break"
610619 head , tail = os .path .split (filename )
611620 base , ext = os .path .splitext (tail )
612621 from idlelib import browser
613622 browser .ClassBrowser (self .flist , base , [head ])
623+ return "break"
614624
615625 def open_path_browser (self , event = None ):
616626 from idlelib import pathbrowser
617627 pathbrowser .PathBrowser (self .flist )
628+ return "break"
618629
619630 def open_turtle_demo (self , event = None ):
620631 import subprocess
@@ -623,6 +634,7 @@ def open_turtle_demo(self, event = None):
623634 '-c' ,
624635 'from turtledemo.__main__ import main; main()' ]
625636 subprocess .Popen (cmd , shell = False )
637+ return "break"
626638
627639 def gotoline (self , lineno ):
628640 if lineno is not None and lineno > 0 :
@@ -879,6 +891,7 @@ def long_title(self):
879891
880892 def center_insert_event (self , event ):
881893 self .center ()
894+ return "break"
882895
883896 def center (self , mark = "insert" ):
884897 text = self .text
@@ -910,6 +923,7 @@ def get_geometry(self):
910923
911924 def close_event (self , event ):
912925 self .close ()
926+ return "break"
913927
914928 def maybesave (self ):
915929 if self .io :
@@ -1357,6 +1371,7 @@ def comment_region_event(self, event):
13571371 line = lines [pos ]
13581372 lines [pos ] = '##' + line
13591373 self .set_region (head , tail , chars , lines )
1374+ return "break"
13601375
13611376 def uncomment_region_event (self , event ):
13621377 head , tail , chars , lines = self .get_region ()
@@ -1370,6 +1385,7 @@ def uncomment_region_event(self, event):
13701385 line = line [1 :]
13711386 lines [pos ] = line
13721387 self .set_region (head , tail , chars , lines )
1388+ return "break"
13731389
13741390 def tabify_region_event (self , event ):
13751391 head , tail , chars , lines = self .get_region ()
@@ -1382,6 +1398,7 @@ def tabify_region_event(self, event):
13821398 ntabs , nspaces = divmod (effective , tabwidth )
13831399 lines [pos ] = '\t ' * ntabs + ' ' * nspaces + line [raw :]
13841400 self .set_region (head , tail , chars , lines )
1401+ return "break"
13851402
13861403 def untabify_region_event (self , event ):
13871404 head , tail , chars , lines = self .get_region ()
@@ -1390,6 +1407,7 @@ def untabify_region_event(self, event):
13901407 for pos in range (len (lines )):
13911408 lines [pos ] = lines [pos ].expandtabs (tabwidth )
13921409 self .set_region (head , tail , chars , lines )
1410+ return "break"
13931411
13941412 def toggle_tabs_event (self , event ):
13951413 if self .askyesno (
0 commit comments