When IDLE is installed and run from a startup script, the script's
directory becomes sys.path[0].  What is wanted is the directory from which
IDLE was called.

Insert the current working directory in the path if it isn't there
already.
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 2abde13..ad57ebe 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -29,6 +29,7 @@
 import rpc
 import RemoteDebugger
 
+# Preserve 2.2 compatibility for Mac OS X:
 import boolcheck
 
 IDENTCHARS = string.ascii_letters + string.digits + "_"
@@ -1169,6 +1170,10 @@
             dir = os.path.abspath(dir)
             if not dir in sys.path:
                 sys.path.insert(0, dir)
+    else:
+        dir = os.getcwd()
+        if not dir in sys.path:
+            sys.path.insert(0, dir)
     # check the IDLE settings configuration (but command line overrides)
     edit_start = idleConf.GetOption('main', 'General',
                                     'editor-on-startup', type='bool')