Commit Graph

89 Commits

Author SHA1 Message Date
Kurt B. Kaiser 92b5ca37c2 M ColorDelegator.py
M PyShell.py
M ScriptBinding.py

1. Update ScriptBinding.py to highlight a syntax error in the Edit window,
   and place the cursor on the error.  Add a syntax check to the
   Run Script event instead of waiting until the script tries to run and
   raises a syntax error in the shell, forcing the user to navigate back
   to the Edit window to fix it.
2. Modify tag_config's appropriately in PyShell.py and ColorDelegator.py
3. Some minor clean-up in ScriptBinding.py
2002-12-17 21:16:12 +00:00
Kurt B. Kaiser 822a77fcc7 M EditorWindow.py
M PyShell.py

Idlefork SF Bug 440383 - IDLE goes into beep loop
Fix loop in EditorWindow.newline_and_indent_event() and
in addition fix submission of >>> prompt to PyParse.Parser

Eliminate extra attribute EditorWindow.auto_indent
2002-12-16 02:07:11 +00:00
Kurt B. Kaiser bfed346259 M Debugger.py
M IOBinding.py
M PyShell.py

* Could not remove last set of saved breakpoints from a file
* Starting with empty edit window, could not load a file
* Multiple adjacent breakpoints were saved as one breakpoint
* Storing breakpoints whenever a file is closed can get them out
  of synch with the saved version of a file.  Only store them when the
  file is saved.
* Add comment on current limitations on file editing in the presence of
  breakpoints.
* Replace get_current_breaks() with update_breakpoints(), add an update to
  PyShellEditorWindow.breakpoints, which is the master breakpoint data
  structure, and which is used to reload the subprocess debugger.
* Revert Debugger.Debugger.load_breakpoints() to use editwin.breakpoints.
  It is easier to debug the debugger if the breakpoint list in IDLE is
  identical to the list in the subprocess debugger and is transferred when
  the subprocess debugger is restarted, because this list can be easily
  queried.
* Cleanup some linespacing and comments in IOBinding.py
2002-12-14 04:38:51 +00:00
Kurt B. Kaiser f06eed08a8 Rework the command line interface, incorporating the shell/edit
configuration selection. Rework the usage message to match.

Also some minor code polishing.
2002-12-11 04:42:04 +00:00
Kurt B. Kaiser 0930c43e43 M PyShell.py
1. Format and print exceptions raised in user code.

M rpc.py
1. Additional debug messages in rpc.py
2. Move debug message enable switch from SocketIO to Client and Server
   to allow separate activation.
3. Add indication of origin (client or server) to debug message
4. Add sequence number to appropriate debug messages

5. Pass string exception arg as a string rather than a tuple.
2002-12-06 21:45:24 +00:00
Neal Norwitz f4c4f115d8 Add missing self for method call 2002-11-30 18:49:10 +00:00
Kurt B. Kaiser 6e44cc2369 M PyShell.py
M rpc.py

SF Bug 629987: Idle not printing prompts following SyntaxError
2002-11-30 06:18:00 +00:00
Kurt B. Kaiser 818855939a Correct an error introduced at Rev 1.30. The keyword arg is necessary
to freeze the value of orig_checkcache.  Otherwise infinite recursion.
2002-11-29 22:10:53 +00:00
Chui Tey 69371d6530 Set breakpoints on remote debugger 2002-11-04 23:39:45 +00:00
Chui Tey a2adb0f6d9 Recalls breakpoints set in a file 2002-11-04 22:14:54 +00:00
Kurt B. Kaiser 45186c4ce0 Implement Restoring Breakpoints in Subprocess Debugger
M Debugger.py
M EditorWindow.py
M PyShell.py

0. Polish PyShell.linecache_checkcache()
1. Move break clearing code to PyShell.PyShellEditorWindow from
   EditorWindow.
2. Add PyShellEditorWindow.breakpoints attribute to __init__, a list of
   line numbers which are breakpoints for that edit window.
3. Remove the code in Debugger which removes all module breakpoints when
   debugger is closed.  Want to be able to reload into debugger when
   restarted.
4. Moved the code which sets EditorWindow.text breakpoints from Debugger
   to PyShell.PyShellEditorWindow and refactored.
5. Implement reloading subprocess debugger with breakpoints from all open
   PyShellEditorWindows when debugger is opened or subprocess restarted.
6. Eliminate the break_set attribute, use the breakpoint list instead.
2002-10-23 04:48:08 +00:00
Kurt B. Kaiser 5afa1dfb72 M CallTips.py Add support for getting calltip from subprocess,
refactor a bit and clean up.

M PyShell.py       Cosmetic changes, delete blank lines, add # on some
                   blank lines.

M rpc.py           Add more debugging capability

M run.py           Add support for getting calltip from subprocess
                   Move import statements
2002-10-10 08:25:24 +00:00
Tony Lownds f2324b9e89 Finding a suitable interpreter to spawn needed tweaking on the Mac 2002-09-29 00:34:10 +00:00
Kurt B. Kaiser b976419946 Fix bug I created during merge from Python-idle.
Also, decided IDENTCHARS is better as global, after all.
2002-09-23 04:10:37 +00:00
Kurt B. Kaiser 628339807e Merge Py Idle changes:
Missed adding "import types" while merging PyShell by hand....
2002-09-18 17:07:05 +00:00
Kurt B. Kaiser 837d15c5b5 Merge Py Idle changes:
Rev 1.35 fdrake
Use string.ascii_letters instead of string.letters (SF bug #226706).
Move computation of sets of characters out of the body of the function
that uses them.

Rev 1.36 tim_one
Convert a pile of obvious "yes/no" functions to return bool

Rev 1.37
(skip, done differently in Idlefork)

Rev 1.38 loewis
Patch #590913: PEP 263 support.

Rev 1.39 loewis
Convert characters from the locale's encoding on output.
Reject characters outside the locale's encoding on input.

Rev 1.40 doerwalter
(string methods)

Rev 1.41
(skipped, done by GvR in rpc)
2002-09-18 02:29:59 +00:00
Kurt B. Kaiser ee7afca550 MERGE DS_RPC_BRANCH into MAIN
PyShell.py
    don't track Py Idle patch 543222 - disable script bindings in shell
    since it was done differently in MAIN

    Remove "binding comments" 05 Aug 1.13.2.2 to 1.13.2.3
2002-09-14 02:50:56 +00:00
Kurt B. Kaiser 63857a454d M PyShell.py
M RemoteDebugger.py
M ScriptBinding.py

Restart the execution server with a clean environment and execute the
active module from scratch upon activation of Run/F5.

Add functionality to PyShell.py to restart the execution server in a new
subprocess.  The server makes a connection to the Idle client which sends a
block of code to be executed.

Modify ScriptBinding.py to restart the subprocess upon Run/F5, assuming that
an execution is not currently in progress.  Remove Import Module functionality,
not required now that the code is executed in a clean environment.

If the Debugger is active, also restart the subprocess side of the split
debugger.  Add functionality to RemoteDebugger.py to support this.

At this time breakpoints will be lost in the subprocess if Run/F5 is activated.
A subsequent checkin of PyShell.py will implement reloading of the breakpoints
into the subprocess debugger.  I'm keeping this separate as the design may
change.
2002-09-05 02:31:20 +00:00
Kurt B. Kaiser 8dcdb77132 GvR provided solution to the socket rebinding timeout problem.
M PyShell.py
M rpc.py
M run.py
2002-08-05 03:52:10 +00:00
Kurt B. Kaiser b417936d40 Reverse the RPC socket connection: Python execution server connects to
Idle client and localhost origin of connection is verified by client.
M PyShell.py
M rpc.py
M run.py
2002-07-26 00:06:42 +00:00
Kurt B. Kaiser dc1e70987f 1. Prevent Undo before IOmark in PyShell.PyShell
2. Consolidate Undo code in EditorWindow.EditorWindow
3. Remove Formatting and Run menus from PyShell
2002-07-11 04:33:41 +00:00
Kurt B. Kaiser ffd3a4217a Shutdown subprocess debugger and associated Proxies/Adapters when closing
the Idle debugger.

M PyShell.py       : Call RemoteDebugger.close_remote_debugger()
M RemoteDebugger.py: Add close_remote_debugger(); further polish code used
                     to start the debugger sections.
M rpc.py           : Add comments on Idlefork methods register(), unregister()
                     comment out unused methods
M run.py           : Add stop_the_debugger(); polish code
2002-06-26 02:32:09 +00:00
Kurt B. Kaiser 83118c6cb3 Clear associated breakpoints when closing an edit window.
M Debugger.py      : Added clear_file_breaks()
M EditorWindow.py  : Clear breaks when closed, commments->docstrings,
                     comment out some debugging print statements
M PyShell.py       : comments->docstrings ; clarify extending EditorWindow
                     methods.
M RemoteDebugger.py: Add clear_all_file_breaks() functionality,
                     clarify some comments.
2002-06-24 17:03:37 +00:00
Kurt B. Kaiser 669f4c3850 1. Debugger Breakpoints, finish implementation
2. Debugger Clear Breakpoints, implement
3. Nice yellow breakpoints for Chui  :)
2002-06-20 04:01:47 +00:00
Kurt B. Kaiser 0e3a57731b Polish RemoteDebugger code.
Use a repr() on the subprocess side when fetching dict values for stack.
The various dict entities are not needed by the debugger GUI, only
their representation.
2002-06-16 03:32:24 +00:00
Kurt B. Kaiser 969de458aa Rework the code to have only the GvR RPC. Output from execution of user
code is directed to the Shell.
2002-06-12 03:28:57 +00:00
Chui Tey 5d2af63cc3 GvR's rpc patch 2002-05-26 13:36:41 +00:00
Steven M. Gava cedd30b030 _finally_ tracked down and eliminated a major problem
in PyShell.py that was causing extreme headaches in
working on EditorWindow.py
2002-03-27 00:51:53 +00:00
Steven M. Gava b77d343bc8 First work on making config changes dynamic,
dynamic theme changes
2002-03-02 07:16:21 +00:00
Steven M. Gava 0cae01c496 loading core keybindings via new config system plus
further devel of highlight handling
2002-01-04 07:53:06 +00:00
Steven M. Gava 3b55a891a1 back in harness on new config system 2001-11-21 05:56:26 +00:00
Steven M. Gava 9930061ce2 further config system work 2001-11-04 07:03:08 +00:00
Steven M. Gava 1f733baa04 merged port binding error message patch 2001-10-07 11:44:49 +00:00
Kurt B. Kaiser 96d8842237 Implement idle command interface as suggested by GvR [idle-dev] 16 July
****************
PyShell: Added functionality:

usage: idle.py [-c command] [-d] [-i] [-r script] [-s] [-t title] [arg] ...

idle file(s)    (without options) edit the file(s)

-c cmd     run the command in a shell
-d         enable the debugger
-i         open an interactive shell
-i file(s) open a shell and also an editor window for each file
-r script  run a file as a script in a shell
-s         run $IDLESTARTUP or $PYTHONSTARTUP before anything else
-t title   set title of shell window

Remaining arguments are applied to the command (-c) or script (-r).

******************
idles: Removed the idles script, not needed

******************
idle:  Removed the IdleConf references, not required anymore
2001-07-17 04:59:01 +00:00
Kurt B. Kaiser e75785a646 Call out IDLE Fork in startup message. 2001-07-16 05:25:12 +00:00
Kurt B. Kaiser 21ebb211df Add a script "idles" which opens a Python Shell window.
The default behaviour of idlefork idle is to open an editor window instead
of a shell. Complex expressions may be run in a fresh environment by
selecting "run".  There are times, however, when a shell is desired.
Though one can be started by "idle -t 'foo'", this script is more
convenient.  In addition, a shell and an editor window can be started
in parallel by "idles -e foo.py".
2001-07-16 04:00:10 +00:00
Kurt B. Kaiser bb6b1e9b26 py-cvs-2001_07_13 (Rev 1.34) merge
"Amazing.  A very subtle change in policy in descr-branch actually
found a bug here.  Here's the deal: Class PyShell derives from class
OutputWindow.  Method PyShell.close()
wants to invoke its parent method, but because PyShell long ago was
inherited from class PyShellEditorWindow, it invokes
PyShelEditorWindow.close(self).  Now, class PyShellEditorWindow itself
derives from class OutputWindow, and inherits the close() method from
there without overriding it.  Under the old rules,
PyShellEditorWindow.close would return an unbound method restricted to
the class that defined the implementation of close(), which was
OutputWindow.close.  Under the new rules, the unbound method is
restricted to the class whose method was requested, that is
PyShellEditorWindow, and this was correctly trapped as an error." --GvR
2001-07-14 05:10:34 +00:00
Kurt B. Kaiser 94bd77415f cvs-py-rel2_1 (Rev 1.29 - 1.33) merge
Merged the following py-cvs revs without conflict:
1.29 Reduce copyright text output at startup
1.30 Delay setting sys.args until Tkinter is fully initialized
1.31 Whitespace normalization
1.32 Turn syntax warning into error when interactive
1.33 Fix warning initialization bug

Note that module is extensively modified wrt py-cvs
2001-07-14 00:13:28 +00:00
David Scherer 7aced17437 Initial revision 2000-08-15 01:13:23 +00:00