Chris Lyon | 2 May 18:06 2003
Picon

Clear Debug breakpoints

  On 5 Mar 2002 Edward K. Ream posted on the com.lang.python list a 
patch for idle to allow you to clear breakpoints. There is talk of 
submitting it to this list. I don't know if this has been done, so I 
bring it to your attension in the hope that it will be implemented.

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=3C84E2C9.8DC206B4%40tds.net&rnum=1&prev=/groups%3Fq%3Didle%2Bbreakpoint%2Bclear%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D3C84E2C9.8DC206B4%2540tds.net%26rnum%3D1

If the link is too horrendous just search in com.lang.python for 
"breakpoint clear idle"

Hopefully this wont ruffle any feathers or demonstrate any other aspects 
of my personal limitations...

Chris
Kurt B. Kaiser | 3 May 15:12 2003
Picon
Picon

Re: Clear Debug breakpoints

Chris Lyon <chris.lyon <at> spritenote.co.uk> writes:

>   On 5 Mar 2002 Edward K. Ream posted on the com.lang.python list a
> patch for idle to allow you to clear breakpoints. There is talk of
> submitting it to this list. I don't know if this has been done, so I
> bring it to your attension in the hope that it will be implemented.

Thanks for the link.  That request was also posted as an IDLEfork bug
last summer (within minutes of my check-in which implemented it :)
though in a slightly different way).

Please try installing the latest packaged version of IDLEfork (0.9a2),
it has the capability you are looking for.  Individual breakpoints can
be cleared, and breakpoints are saved across IDLE sessions. 

http://sourceforge.net/projects/idlefork

IDLEfork (current CVS version) has been added to the Python CVS on the
idlefork-merge-branch.  That version is somewhat beyond 0.9a2 in that
it uses a threaded subprocess.  However, it is not the final threaded
version which will be available RSN as IDLEfork 0.9b1 and later in
Python 2.3b2, replacing the old IDLE.
__

KBK
SourceForge.net | 5 May 01:10 2003
Picon
Picon

[ idlefork-Patches-732395 ] Not compatible with Blender226

Patches item #732395, was opened at 2003-05-04 16:10
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=309579&aid=732395&group_id=9579

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: Not compatible with Blender226

Initial Comment:
Dear,
Thanks a lot for this wonderful tool. Due to the poor
support of Python editing, I was happy to find out that
Idle was the (only) editor which could be run from
within Blender it self.  Unfortunately debugging
wouldn't work (AttributeError:__nonzero__ for
Delegator<ColorDelegator.recolorize()<Tkinter.callit()<...).
 Still Idle for Blender remains very usefull, as I can
run and import programs without any problem.  The
text/python editor for Blender is very primitive (no
indentation,calltips or auto completion) so I am really
happy to use the Idle.

I downloaded IdleFork as I expected that debugging
would have been improved and maybe possible for
(Continue reading)

SourceForge.net | 5 May 01:14 2003
Picon
Picon

[ idlefork-Bugs-732397 ] running/debugging fails from within Blender

Bugs item #732397, was opened at 2003-05-04 16:14
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=109579&aid=732397&group_id=9579

Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Nobody/Anonymous (nobody)
Summary: running/debugging fails from within Blender

Initial Comment:
Due to the poor support of Python editing,
 I was happy to find out that
Idle was the (only) editor which could be run from
within Blender it self. Unfortunately debugging
wouldn't work (AttributeError:__nonzero__ for
Delegator<ColorDelegator.recolorize()<Tkinter.callit()<...).
Still Idle for Blender remains very usefull, as I can
run and import programs without any problem. The
text/python editor for Blender is very primitive (no
indentation,calltips or auto completion) so I am really
happy to use the Idle.

I downloaded IdleFork as I expected that debugging
would have been improved and maybe possible for
Blender. Unfortunately Blender crashes with Idlefork.
(Continue reading)

Kurt B. Kaiser | 8 May 22:26 2003
Picon
Picon

CVS: idle NEWS.txt,1.14,1.15 PyShell.py,1.59,1.60 rpc.py,1.22,1.23 run.py,1.14,1.15

Update of /cvsroot/idlefork/idle
In directory sc8-pr-cvs1:/tmp/cvs-serv5992

Modified Files:
	NEWS.txt PyShell.py rpc.py run.py 
Log Message:
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

Index: NEWS.txt
===================================================================
RCS file: /cvsroot/idlefork/idle/NEWS.txt,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -r1.14 -r1.15
*** NEWS.txt	25 Apr 2003 17:48:08 -0000	1.14
--- NEWS.txt	8 May 2003 20:26:54 -0000	1.15
***************
*** 6,10 ****
  ===================================

! *Release date: 25-Apr-2003*
(Continue reading)

Kurt B. Kaiser | 9 May 03:45 2003
Picon
Picon

CVS Status

Note that the Debugger has been temporarily disabled in the latest
check-in because it's tracing through threading.py, and Queue.py.

The task is to solve this in a way which allows tracing through user
code which imports the threading and/or Queue modules.

--
KBK
Cadet Alain | 9 May 09:32 2003
Picon

Bug report for idle : problems with file save and unicode

On windows NT4 with a French installation (cp850), I get sometimes some
problems when I try to save a file.
I get an error and after :
1) it is impossible to save the file
2) the previous file is lost (file with 0K and nothing inside)
I got this several times. I notice nothing special except that the files
have special characters in strng values (ascii >128).

Here is the error message :

Python 2.2.1 (#34, Apr  9 2002, 19:34:33) [MSC 32 bit (Intel)] on win32

Exception in Tkinter callback
Traceback (most recent call last):
  File "D:\Python22\lib\lib-tk\Tkinter.py", line 1292, in __call__
    return apply(self.func, args)
  File "D:\Python22\Tools\idle\EditorWindow.py", line 495, in close
    reply = self.maybesave()
  File "D:\Python22\Tools\idle\EditorWindow.py", line 490, in maybesave
    return self.io.maybesave()
  File "D:\Python22\Tools\idle\IOBinding.py", line 118, in maybesave
    self.save(None)
  File "D:\Python22\Tools\idle\IOBinding.py", line 128, in save
    if self.writefile(self.filename):
  File "D:\Python22\Tools\idle\IOBinding.py", line 154, in writefile
    f.write(chars)
UnicodeError: ASCII encoding error: ordinal not in range(128)
zhaoq | 9 May 18:46 2003

please del my mail address from list,thanks!

 
Kurt B. Kaiser | 9 May 20:20 2003
Picon
Picon

Re: please del my mail address from list,thanks!

Done, see you later....
Kurt B. Kaiser | 10 May 02:09 2003
Picon
Picon

CVS: idle Debugger.py,1.20,1.21 PyShell.py,1.60,1.61 rpc.py,1.23,1.24

Update of /cvsroot/idlefork/idle
In directory sc8-pr-cvs1:/tmp/cvs-serv20416

Modified Files:
	Debugger.py PyShell.py rpc.py 
Log Message:
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

Index: Debugger.py
===================================================================
RCS file: /cvsroot/idlefork/idle/Debugger.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** Debugger.py	1 Jan 2003 00:26:41 -0000	1.20
--- Debugger.py	10 May 2003 00:09:52 -0000	1.21
***************
*** 14,53 ****

      def user_line(self, frame):
! 
!         co_filename = frame.f_code.co_filename
! ##        co_name = frame.f_code.co_name
! 
!         ## print>>sys.__stderr__, "*function: ", frame.f_code.co_name
!         ## print>>sys.__stderr__, "*file: ", frame.f_code.co_filename
!         ## print>>sys.__stderr__, "*line number: ", frame.f_code.co_firstlineno
!         ## print>>sys.__stderr__, "*name: ", co_name
!         ## print>>sys.__stderr__, "*function: ", frame.f_locals.get(co_name,None)
! 
! ##         try:
! ##             # XXX 12 Dec 2002 CGT TO DO: Find way to get a reference to the
! ##             # XXX currently running function. If the function has an
! ##             #     attribute called "DebuggerStepThrough", prevent the debugger
! ##             #     from stepping through Idle code. The following doesn't work
! ##             #     in instance methods. Hard coded some workarounds.
! ##             func = frame.f_locals[co_name]
! ##             if getattr(func, "DebuggerStepThrough", 0):
! ##                 print "XXXX DEBUGGER STEPPING THROUGH"
! ##                 self.set_step()
! ##                 return
! ##         except:
! ##             pass
! 
!         # workaround for the problem above
!         exclude = ('rpc.py', 'threading.py', '<string>')
!         for rpcfile in exclude:
!             if co_filename.count(rpcfile):
!                 self.set_step()
!                 return
          message = self.__frame2message(frame)
          self.gui.interaction(message, frame)

      def user_exception(self, frame, info):
          message = self.__frame2message(frame)
          self.gui.interaction(message, frame, info)

      def __frame2message(self, frame):
--- 14,39 ----

      def user_line(self, frame):
!         if self.in_rpc_code(frame):
!             self.set_step()
!             return
          message = self.__frame2message(frame)
          self.gui.interaction(message, frame)

      def user_exception(self, frame, info):
+         if self.in_rpc_code(frame):
+             self.set_step()
+             return
          message = self.__frame2message(frame)
          self.gui.interaction(message, frame, info)
+ 
+     def in_rpc_code(self, frame):
+         if frame.f_code.co_filename.count('rpc.py'):
+             return True
+         else:
+             prev_frame = frame.f_back
+             if prev_frame.f_code.co_filename.count('Debugger.py'):
+                 # (that test will catch both Debugger.py and RemoteDebugger.py)
+                 return False
+             return self.in_rpc_code(prev_frame)

      def __frame2message(self, frame):

Index: PyShell.py
===================================================================
RCS file: /cvsroot/idlefork/idle/PyShell.py,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -r1.60 -r1.61
*** PyShell.py	8 May 2003 20:26:54 -0000	1.60
--- PyShell.py	10 May 2003 00:09:52 -0000	1.61
***************
*** 691,695 ****
          text.bind("<<end-of-file>>", self.eof_callback)
          text.bind("<<open-stack-viewer>>", self.open_stack_viewer)
!         ##text.bind("<<toggle-debugger>>", self.toggle_debugger)
          text.bind("<<open-python-shell>>", self.flist.open_shell)
          text.bind("<<toggle-jit-stack-viewer>>", self.toggle_jit_stack_viewer)
--- 691,695 ----
          text.bind("<<end-of-file>>", self.eof_callback)
          text.bind("<<open-stack-viewer>>", self.open_stack_viewer)
!         text.bind("<<toggle-debugger>>", self.toggle_debugger)
          text.bind("<<open-python-shell>>", self.flist.open_shell)
          text.bind("<<toggle-jit-stack-viewer>>", self.toggle_jit_stack_viewer)

Index: rpc.py
===================================================================
RCS file: /cvsroot/idlefork/idle/rpc.py,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -r1.23 -r1.24
*** rpc.py	8 May 2003 20:26:54 -0000	1.23
--- rpc.py	10 May 2003 00:09:52 -0000	1.24
***************
*** 559,564 ****
              raise AttributeError, name

-     __getattr__.DebuggerStepThrough = 1
- 
      def __getattributes(self):
          self.__attributes = self.sockio.remotecall(self.oid,
--- 559,562 ----

Gmane