Commit Graph

467 Commits

Author SHA1 Message Date
Kurt B. Kaiser af3eb87802 Added a Tk error dialog to run.py inform the user if the subprocess can't
connect to the user GUI process.  Added a timeout to the GUI's listening
socket.  Added Tk error dialogs to PyShell.py to announce a failure to bind
the port or connect to the subprocess.  Clean up error handling during
connection initiation phase.  This is an update of Python Patch 778323.

M NEWS.txt
M PyShell.py
M ScriptBinding.py
M run.py

Backport candidate.
2004-01-21 18:54:30 +00:00
Kurt B. Kaiser e9802a301d - Print correct exception even if source file changed since shell was
restarted.  IDLEfork Patch 869012 Noam Raphael

Modified Files:
	NEWS.txt run.py
2004-01-02 04:04:04 +00:00
Kurt B. Kaiser 188e25f637 Fix a typo introduced at 1.21
M IOBinding.py

Backported to 23-maint
2003-11-25 05:01:00 +00:00
Kurt B. Kaiser 2303b1c19a Keybindings with the Shift modifier now work correctly. So do bindings
which use the Space key.  Limit unmodified user keybindings to the
function keys.
Python Bug 775353, IDLEfork Bugs 755647, 761557

Improve error handling during startup if there's no Tkinter.

M NEWS.txt
M PyShell.py
M config-keys.def
M configHandler.py
M keybindingDialog.py

Backport candidate.
2003-11-24 05:26:16 +00:00
Kurt B. Kaiser c714d45bf5 Update NEWS.txt to include some items missed earlier. Update the
IDLE version to 1.1a0.
Modified Files:
	NEWS.txt idlever.py
2003-11-24 03:23:16 +00:00
Kurt B. Kaiser 924f616421 - After an exception, run.py was not setting the exception vector. Noam
Raphael suggested correcting this so pdb's postmortem pm() would work.
  IDLEfork Patch 844675

Modified: NEWS.txt  run.py
2003-11-19 04:52:32 +00:00
Neal Norwitz 9920430107 SF #775057, fix IDLE problem in about dialog
If the file doesn't exist, the code to display an error message was broken
Will backport.
2003-10-28 21:57:10 +00:00
Thomas Heller 84ef153c74 Let IDLE use the HTMLHelp docs on Windows, if found.
Already 'backported' to release23-maint.
2003-09-23 20:53:10 +00:00
Kurt B. Kaiser 62685d36aa Python Bug 775061
1. Remove "idle" script, it lives in Tools/scripts/ now.
2. Remove shebang from idle.py, should be called explicitly.
3. Remove obsolete test code from rpc.py; needs unit test.
2003-09-10 02:42:18 +00:00
Martin v. Löwis 8ad1dd7df1 Catch locale.error as well. Fixes #788378. Will backport to 2.3. 2003-09-03 05:13:14 +00:00
Kurt B. Kaiser b785518d05 IDLE didn't start correctly when Python was installed in "Program Files"
on W2K and XP.  Python Bugs 780451, 784183

Backported to 2.2-maint
2003-08-14 14:54:28 +00:00
Kurt B. Kaiser 3f42a6d267 IDLEfork Bug 782759
backported to 23-maint
2003-08-09 01:51:28 +00:00
Martin v. Löwis 249d50a25f Make sure eol_convention is an ASCII string. Fixes #774680.
Will backport to 2.3.
2003-08-05 05:51:20 +00:00
Kurt B. Kaiser 220fecf0f4 Added a banner to the shell startup message discussing possible
warnings from personal firewall software.  Added the same text
to README.txt, updated NEWS.txt for release.

M NEWS.txt
M PyShell.py
M README.txt
2003-07-27 03:24:19 +00:00
Kurt B. Kaiser 7fbc3046df Update for release. 2003-07-27 00:56:41 +00:00
Kurt B. Kaiser 6145a624b8 1. Python Bug 775541: Calltips error when docstring is None. Introduced
by patch 769142.  Fixed by patch 776062. KBK will backport net result
   to IDLE release22-maint and IDLEfork.
2. Update NEWS.txt and idlever for release.
2003-07-23 15:42:14 +00:00
Kurt B. Kaiser cca912279a Update to reflect the current status of the configuration system.
Extensions must still be configured manually and there is currently one
set of extension key bindings for all platforms.

Bring NEWS.txt up to date.

Update CREDITS.txt and idlever.py for release.

M NEWS.txt
M config-extensions.def
M extend.txt
M help.txt
M idlever.py
2003-07-16 03:10:43 +00:00
Raymond Hettinger 61bfb736b4 SF bug #769142: CallTip trimming may loop forever.
Needs to be backported to both IDLE and IDLEFORK.
2003-07-13 10:25:14 +00:00
Raymond Hettinger 931237e2e6 SF patch #768187: replace apply(f, args, kwds) with f(*args, **kwds) 2003-07-09 18:48:24 +00:00
Kurt B. Kaiser bea57c6c35 SF Bug 767794
"Break or continue outside loop causes crash"
2003-07-09 04:27:24 +00:00
Martin v. Löwis bcc651a1f9 Idlefork patch #682347: convert Unicode strings from readline to
IOBinding.encoding. Also set sys.std{in,out,err}.encoding, for both
the local and the subprocess case.
2003-06-22 07:52:56 +00:00
Kurt B. Kaiser 7345375771 Add ':' after IDLE version, fix spacing on a couple of lines I missed 2003-06-16 18:46:42 +00:00
Martin v. Löwis 424a415951 Make CREDITS.txt a Latin-1 file. Extend ViewFile to support file encodings. 2003-06-15 22:28:05 +00:00
Kurt B. Kaiser 7de3772b28 Forwardport Patch from IDLEfork SF 615312
Convert characters from the locale's encoding on output
2003-06-15 17:49:59 +00:00
Kurt B. Kaiser 9e8b828f07 Support testing in .../Lib/idlelib when calling <python PyShell.py>
by providing other modules access to globals set up in PyShell.main()
2003-06-15 17:38:45 +00:00
Kurt B. Kaiser f35092c3d4 Move to Version 1.0b2 2003-06-15 17:12:25 +00:00
Kurt B. Kaiser 61e2c9a402 Forwardport Patch from IDLEfork SF 610329
Remove deprecated tempfile usage
2003-06-14 17:56:25 +00:00
Kurt B. Kaiser b3a0a666f2 Remove the 2.2 compatibility module boolcheck.py and related code
M PyShell.py
R boolcheck.py
M run.py
2003-06-14 03:33:20 +00:00
Kurt B. Kaiser ae8bbff231 Remove reference to IDLEfork 2003-06-14 03:23:56 +00:00
Kurt B. Kaiser 76bcb5cb6d Update NEWS.txt and move info on release 0.8.1 and earlier to HISTORY.txt
M HISTORY.txt
M NEWS.txt
2003-06-14 02:51:06 +00:00
Kurt B. Kaiser 93e8e54924 Interrupt module has been folded into the thread module
Modified Files:
 	run.py
 Removed Files:
 	interruptmodule.c
2003-06-13 22:03:43 +00:00
Kurt B. Kaiser a4e5c4da4d No longer needed. 2003-06-12 04:38:13 +00:00
Kurt B. Kaiser 09cb74ba20 aboutDialog.py:
1. Add additional buttons for Python Copyright and Credits
2. Use the Python LICENSE file instead of the old IDLE LICENSE.txt
3. Add additional buttons for IDLE's README and NEWS
4. Implement a method to read text from a _Printer object
5. Rename the Ok button to Close
6. Clean up to conform to Python code formatting standards

textView.py:
1. Change background to white on all platforms
2. Increase height of frame
3. Add an optional parameter to textViewer to allow inserting text into
   the viewer instead of reading a file.
4. Rename the Ok button to Close
 Modified Files:
 	aboutDialog.py textView.py
2003-06-12 04:20:56 +00:00
Kurt B. Kaiser d78b23025c 1. Remove the Readme entry on the Help Menu, now in About dialog.
2. Change title on About dialog.
 Modified Files:
 	Bindings.py EditorWindow.py
2003-06-12 04:03:49 +00:00
Kurt B. Kaiser fe04afc629 Direct readers to CVS logs. 2003-06-12 03:57:23 +00:00
Kurt B. Kaiser 31dea4cf43 It /is/ a package... 2003-06-12 03:55:24 +00:00
Kurt B. Kaiser 1821056002 Updated for IDLEfork re-integration 2003-06-12 03:51:27 +00:00
Kurt B. Kaiser b67e13d278 Will use the Python LICENSE file instead. 2003-06-12 03:45:55 +00:00
Kurt B. Kaiser d5407da4bc Remove setup file, no longer needed. 2003-06-12 03:44:01 +00:00
Kurt B. Kaiser a00d7bd41c Remove unneeded MANIFEST template. 2003-06-12 03:41:01 +00:00
Kurt B. Kaiser a737bb378b Remove unneeded installation instructions. 2003-06-12 03:39:08 +00:00
Kurt B. Kaiser a8f22d711c Update version. 2003-06-12 03:15:47 +00:00
Kurt B. Kaiser 9067c8d85c SF 748975 Printing unsaved shell fails
M IOBinding.py
2003-06-09 03:12:42 +00:00
Kurt B. Kaiser ef58adf8d6 1. Find in Files Dialog shows text selection if there is one
2. Remove obsolete comment associated with Window menu updating

M EditorWindow.py
M GrepDialog.py
2003-06-07 03:21:17 +00:00
Kurt B. Kaiser 260cb9034c 1. Update WindowList registry when filename changes so that
Window menu updates.
2. Display Python Shell window in Window menu
3. Remove some dead code in FileList.py

M EditorWindow.py
M FileList.py
M WindowList.py
2003-06-06 21:58:38 +00:00
Kurt B. Kaiser 24d7e0cbb8 Avoid problem resolving 'localhost'
M PyShell.py
M rpc.py
M run.py
2003-06-05 23:51:29 +00:00
Guido van Rossum 852f35bbeb Change to <<open-module>>: always pop up the dialog, using the current
selection as the default value.  This is easier to use habitually.
2003-06-05 11:36:55 +00:00
Kurt B. Kaiser 3f8ace9a0f SF 747667 Error Doesn't Decolorize
Also improved error notification if Tabnanny detects a TokenError.

M ScriptBinding
2003-06-05 02:38:32 +00:00
Kurt B. Kaiser d2f4861a0b SF 748973 Guido van Rossum patch
New Window should save in the directory of the Editor Window
from which it was selected.

M EditorWindow.py
M FileList.py
M IOBinding.py
2003-06-05 02:34:04 +00:00
Kurt B. Kaiser 01e3273164 Eliminate the Revert to Default Settings submenu of Option menu.
Not implemented and not needed.
2003-06-02 01:51:38 +00:00
Kurt B. Kaiser 9f36609720 Modify the remote stack viewer to work in the threaded subprocess.
M PyShell.py
M run.py
2003-06-02 01:50:19 +00:00
Kurt B. Kaiser 5ddef75fcf Update for release
Modified Files:
 	NEWS.txt README.txt TODO.txt
2003-06-01 01:11:14 +00:00
Kurt B. Kaiser 6c8579ed4d Set the default for delete-exitfunc in config-main.def to True to handle
abnormal exit situations cleanly, especially stuck user threads.  Future
plan is to intercept the user's atexit functions and run them under
IDLE's control.
2003-06-01 01:08:32 +00:00
Kurt B. Kaiser ce5b6d55b8 SF 745525
Excecution environment and residual shell has cwd set to the directory of
the module being run.

M ScriptBinding.py
2003-05-31 23:44:18 +00:00
Kurt B. Kaiser e394ef8b4a Update for release
Modified Files:
 	CREDITS.txt INSTALL.txt LICENSE.txt aboutDialog.py setup.py
2003-05-30 02:42:02 +00:00
Kurt B. Kaiser 62df044885 Added a config-main General option to delete sys.exitfunc. The default
is not to do that.  VPython and student environment support.

M PyShell.py
M config-main.def
M run.py
2003-05-28 01:47:46 +00:00
Kurt B. Kaiser 8d1f11b0ef Whitespace Normalization
Modified Files:	PyShell.py ScriptBinding.py buildapp.py
2003-05-26 22:20:34 +00:00
Kurt B. Kaiser 053916959a 1. SF Bug 661676
The default font is not highlighted in the Options dialog when
   IDLEfork is first installed.

2. Reduce default font to 10 pt and increase default window height to give
   a better initial impression on Windows.

M config-main.def
M configDialog.py
2003-05-26 20:35:53 +00:00
Kurt B. Kaiser 6c638b6755 Bruce Sherwood RFE/Patch
SF 661318

Adds autosave capability to IDLE and IDLE configuration dialog.

User can Run/F5 without explicit save dialog.

The default is to require the user to confirm the save.

M ScriptBinding.py
M config-main.def
M configDialog.py
2003-05-26 06:23:10 +00:00
Kurt B. Kaiser 6f80594229 Improved the RESTART annotation in the shell window when the user
restarts the shell while it is generating output.  Also improved
annotation when user repeatedly hammers the Ctrl-F6 restart.
2003-05-24 21:12:46 +00:00
Kurt B. Kaiser 36364be3bf Fix a bug in Rev 1.10 - Windows can't handle a leading ':' if the
user's PYTHONPATH is empty (though Linux can).
Modified Files:
	idle idle.py idle.pyw
2003-05-24 21:01:39 +00:00
Kurt B. Kaiser 67fd0ea46d 1. Stake Freddy.
e.g. further improve subprocess interrupt, exceptions, and termination.
2. Remove the workarounds in PyShell.py and ScriptBinding.py involving
   interrupting the subprocess prior to killing it, not necessary anymore.
3. Fix a bug introduced at PyShell Rev 1.66: was getting extra shell menu
   every time the shell window was recreated.

M PyShell.py
M ScriptBinding.py
M rpc.py
M run.py
2003-05-24 20:59:15 +00:00
Kurt B. Kaiser 88957d8d0d Fix race exposed by 2.4 GHz XP box: Don't tear down PyShell until
subprocess polling has terminated.  Tk callit gets unhappy if it can't
find the function 'after' scheduled to run.

M PyShell.py
2003-05-19 23:11:51 +00:00
Kurt B. Kaiser c626658a28 Let Python inform the user what went wrong with the import.
Modified Files:
 	idle idle.py idle.pyw
2003-05-19 02:07:44 +00:00
Kurt B. Kaiser 476740142d Whitespace Normalization 2003-05-18 02:24:32 +00:00
Kurt B. Kaiser 282f122250 Whitespace Normalization
Modified Files:
 	config-extensions.def config-highlight.def config-keys.def
 	config-main.def
2003-05-18 02:21:55 +00:00
Kurt B. Kaiser a2792bec1d Show Freddy the mirror
i.e. improve subprocess exit paths and exeception reporting
2003-05-17 21:04:10 +00:00
Tony Lownds 108c40c74c Added icon for IDLE on OS X 2003-05-17 15:14:10 +00:00
Kurt B. Kaiser 63af08aa93 Nigel Rowe's Patch
[ 735527 ] Re Bug [ 678325 ] ParenMatching Missing AutoIndent

AutoIndent was merged with EditorWindow, this patch corrects
the references in ParenMatch.
2003-05-17 03:51:57 +00:00
Kurt B. Kaiser a80d57c41d Noam Raphael's patch.
SF Patch 686254 "Run IDLEfork from any directory without set-up"

Allows IDLE to run when not installed and cwd is not the IDLE directory.

I took the liberty of moving it to the startup scripts since once IDLEfork
is again a part of Python it will be superfluous and I don't want it to
be forgotten.  But it is very useful for those using IDLEfork standalone!

M CREDITS.txt
M NEWS.txt
M idle
M idle.py
M idle.pyw
2003-05-17 03:15:48 +00:00
Kurt B. Kaiser 11659ade1e 1. When a module is run from an EditorWindow, if its directory is not in
sys.path, prepend it.  This allows the module to import other modules
   in the same directory.  Do the same for a script run from the command
   line.
2. Tweak the IDLE usage message a bit more.

SF Bug 706860 (closed)
SF Patch 686254 (reject specific solution)
SF Patch 507327 (similar)

M PyShell.py
M ScriptBinding.py
2003-05-15 23:23:21 +00:00
Kurt B. Kaiser 8f570a768f 1. Add a command line switch to run without the subprocess
2. Remove the shell menu and associated bindings when running
   without the subprocess.
3. Update the IDLE Help and usage text.
4. Update display_port_binding_error to suggest using -n

M PyShell.py
M help.txt
2003-05-15 18:52:51 +00:00
Kurt B. Kaiser 5db4843c5e 1. Make the startup more robust by not spawning the subprocess if IDLE
can't acquire the port to listen on.
2. Shorten the retry and simplify the messages.
2003-05-15 03:40:51 +00:00
Kurt B. Kaiser 7f38ec0849 1. Restore the capability to run and debug without a subprocess.
2. Add an indicator to the shell startup notice when running w/o
   subprocess.
3. Improve exception reporting when running a command or script from the
   command line.
4. Clarify the fact that breakpoints set or cleared after a file is
   saved will revert to the saved state if the file is closed without
   re-saving.
5. If user tries to exit or restart when user code is running, interrupt
   the user code.  This helps to eliminate occasional hanging
   subprocesses on Windows (except for Freddy :).

M NEWS.txt
M PyShell.py
M ScriptBinding.py
2003-05-15 03:19:42 +00:00
Kurt B. Kaiser aa6b856a42 On Windows the subprocess was not exiting during a restart.
This bug, henceforth designated Freddy, was due to the mistaken
elimination of the KeyboardInterrupt exception at the previous revision.
PyShell's unix_terminate hammer was masking the problem on Linux.  On W2K
the subprocess MainThread was trying to print the exception after the
SockThread had ceased to service the socket.  The subprocess would then
detach and spin when the GUI created the new subprocess.

Modified Files: run.py
2003-05-14 18:15:40 +00:00
Tony Lownds 2398d578a3 1. The command-line arguments for subprocesses no longer need to be
specialized for Mac OS X.

2. buildapp.py - a new file for building an application icon for IDLE on Mac
OS X. See INSTALL.txt
2003-05-13 15:28:21 +00:00
Kurt B. Kaiser 73414a2705 Update for SF 71033 and changes to subprocess threading 2003-05-12 03:04:59 +00:00
Kurt B. Kaiser 9ec454ec00 1. RemoteDebugger now runs user code in subprocess MainThread
2. run.py: move exception printing to toplevel to allow access from main()
3. Clarification in PyShell.py: when the subprocess is restarted, the
   debugger GUI is reused with a fresh instance of the subprocess
   debugger.

M PyShell.py
M RemoteDebugger.py
M run.py
2003-05-12 02:33:47 +00:00
Kurt B. Kaiser a053f33887 [ SF 710733 - Martin v. Loewis] Improving source encoding dialog
M IOBinding.py
M config-main.def
M configDialog.py
2003-05-10 00:49:56 +00:00
Kurt B. Kaiser 57bfe5dc5a 1. Update debugger to not trace RPC code even when calling Queue and
threading modules.  Can debug user code which imports these modules,
   though.
2. Re-enable debugger in PyShell.
3. Remove old code implementing previous approaches to this issue.

M Debugger.py
M PyShell.py
M rpc.py
2003-05-10 00:09:52 +00:00
Kurt B. Kaiser a00050f209 1. Implement processing of user code in subprocess MainThread. Pass loop
is now interruptable on Windows.
2. Tweak signal.signal() wait parameters as called by various methods
   to improve I/O response, especially on Windows.
3. Debugger is disabled at this check-in pending further development.

M NEWS.txt
M PyShell.py
M rpc.py
M run.py
2003-05-08 20:26:55 +00:00
Guido van Rossum c2f77dddf3 New feature: when saving a file, keep the eol convention of the
original.  New files are written using the eol convention of the
platform, given by os.linesep.  All files are read and written in
binary mode.
2003-04-25 18:36:31 +00:00
Kurt B. Kaiser 9a90e70b32 Update for release into Python
NEWS.txt idlever.py
2003-04-25 17:48:08 +00:00
Kurt B. Kaiser 40f19e3fd5 Update for 2.3b1
Modified Files:
	NEWS.txt CREDITS.txt INSTALL.txt setup.cfg
2003-04-25 16:37:31 +00:00
Kurt B. Kaiser 0529377cdf Correct error in last checkin noticed by Neal Norwitz. And some more. 2003-03-22 20:11:14 +00:00
Kurt B. Kaiser 11c53e2ea7 M PyShell.py
M run.py

1. Move subprocess socket handling to a subthread - "SockThread".
2. In the subprocess, implement a queue and global completion and exit
flags.  Execute code after it is passed through the queue.  (Currently,
user code is executed in SockThread.  The next phase of development will
move the tail of the queue to MainThread.)
3. Implement an RPC message used to shut down the execution server.
4. Improve normal and exception subprocess exits.

(At this checkin a "pass loop" interrupt doesn't work on any platform.  It
will be restored for all platforms once user code execution is moved to
MainThread.)
2003-03-22 19:40:19 +00:00
Kurt B. Kaiser e51529d79a Improve error message handling. 2003-03-22 19:15:58 +00:00
Kurt B. Kaiser 94afd3095e Move setting of ioready 'wait' earlier in call chain, to
rpc.SocketIO.main() and asyncreturn().  Improve comment.
2003-03-12 20:52:00 +00:00
Kurt B. Kaiser 7c22132069 M rpc.py
M run.py
1. Clarify that rpc.SocketIO._getresponse() currently blocks on socket.
2. Improve exception handling in subprocess when GUI terminates abruptly.
2003-03-11 22:55:56 +00:00
Kurt B. Kaiser 9ac783d723 M PyShell.py
M rpc.py
Improve exception handing if peer process has terminated.
2003-03-10 20:42:24 +00:00
Kurt B. Kaiser 98b15ab980 A interruptmodule.c
M setup.py
Implements an interrupt extension module which allows a subthread
to raise an interrupt in the main thread.
2003-03-10 20:41:07 +00:00
Kurt B. Kaiser ddeaf11d7e Attempting to save the shell raised an error related to saving
breakpoints, which are not implemented in the shell
2003-03-04 04:42:04 +00:00
Kurt B. Kaiser b2487335bf SF 693333
Modify subprocess to print a reasonable message upon receiving
a 'quit' or 'exit'
2003-03-04 04:03:45 +00:00
Kurt B. Kaiser b6aff15183 SF 695861
Eliminate extra blank line in shell output.  Caused by stdout not being
flushed
upon completion of subprocess' Executive.runcode() when user code ends by
outputting an unterminated line, e.g. print "test",
2003-03-03 20:06:48 +00:00
Kurt B. Kaiser 86bc464414 M rpc.py
M run.py

Move exception formatting out of rpc.py.  This allows each end of the
link to format and print exceptions how and where it sees fit and makes it
easier for threads to display their own exceptions.
2003-02-27 23:04:17 +00:00
Kurt B. Kaiser 003091cd51 M NEWS.txt
M PyShell.py
M ScriptBinding.py
M rpc.py
M run.py

Clean up the way IDLEfork handles termination of the subprocess, restore
ability to interrupt user code in Windows (so long as it's doing terminal
I/O).

1. Handle subprocess interrupts in Windows with an RPC message.
2. Run/F5 will restart the subprocess even if user code is running.
3. Restart the subprocess if the link is dropped.
4. Exit IDLE cleanly even during I/O.
4. In rpc.py, remove explicit calls to statelock, let the condition
   variable handle acquire() and release().
2003-02-17 18:57:16 +00:00
Kurt B. Kaiser 8cd0def10d M PyShell.py
M rpc.py

SF Bug 676398 Doesn't handle non-built-in exceptions
1. Move exception formatting to the subprocess; allows subclassing of
   exceptions, including subclasses created in the shell without
   introducing excessive complexity in the RPC mechanism.
2. Provide access to linecache from subprocess to support this.
2003-01-31 05:06:43 +00:00
Kurt B. Kaiser 7e17289868 Update for release.
Modified Files:
 	INSTALL.txt NEWS.txt idlever.py
2003-01-27 02:40:20 +00:00
Kurt B. Kaiser e66675b85c Whitespace normalization.
Modified Files:
 	Bindings.py configHandler.py configHelpSourceEdit.py
2003-01-27 02:36:18 +00:00
Kurt B. Kaiser d9db3a6713 Update. 2003-01-26 20:37:01 +00:00