No pb, I can test your changes when you have it. Good luck with the last lap before the final release. Best, Sylvain
On Friday, April 12, 2013 10:09:30 PM UTC-4, Carlos Córdoba wrote: > > Ok, thanks a lot for tracking down the problem and providing a solution. > I'll try to integrate it with lockfile.py and post a new lockfile so you > can test if things work correctly with it. > > By the way, thanks for understanding the issue about cells: it would > require a good deal of effort to make it work right and so we are > unfortunately leaving it for the next release. > > Cheers, > Carlos > > El 12/04/13 15:14, Sylvain Corlay escribió: > > It seems there is a nice solution here: > http://www.madebuild.org/blog/?p=30 > Sylvain > > > On Fri, Apr 12, 2013 at 3:47 PM, Sylvain Corlay > <[email protected]<javascript:> > > wrote: > >> Hi Carlos, >> >> I fall into the case >> if e.args[0] == ERROR_ACCESS_DENIED: >> return >> in lockfile.py, line 44. >> >> It seems to be related to >> http://stackoverflow.com/questions/2384022/winsdk-determining-whether-an-arbitrary-pid-identifies-a-running-process-on-win >> >> Sylvain >> >> >> >> >> On Thursday, April 11, 2013 8:24:06 PM UTC-4, Sylvain Corlay wrote: >>> >>> Hi Carlos, >>> >>> Great for points 1 and 2. Sorry for the third one (Matlab cell >>> feature). It seems indeed to involve more coding than I expected. >>> For the last issue with the spyder.block folder, I only observe this >>> behavior with windows XP. It works nicely with Ubuntu 12.04. A way to >>> reproduce it with windows is to kill the main python process from the task >>> manager and to restart spyder. pywin32 is installed (PythonXY 2.7.3). I run >>> spyder 2.2rc from the bootstrap script. However, a reason for this issue >>> could be that spyder's folder is on a network drive. I will make some tests >>> tomorrow. >>> >>> Best, >>> >>> Sylvain >>> >>> On Thursday, April 11, 2013 6:20:35 PM UTC-4, Carlos Córdoba wrote: >>>> >>>> Hi Sylvain, >>>> >>>> Thanks for your patches and suggestions. My detailed answers are below: >>>> >>>> El 10/04/13 17:35, Sylvain Corlay escribió: >>>> >>>> Hi everyone, >>>> >>>> Here are a couple of issues in the release candidate. >>>> >>>> *1) When using "run selection"* >>>> >>>> Create a new .py file with the code >>>> >>>> >>>> # No indentation between 'print i' and 'print i+1' >>>> >>>> for i in range(10): >>>> >>>> print i >>>> >>>> * >>>> * >>>> >>>> print i+1 >>>> >>>> * >>>> * >>>> >>>> Put the focus on a regular python console (not ipython), select all the >>>> text in the editor and use the "run selection or current block" button. >>>> >>>> This yields an indentation error. This can probably be considered as a >>>> bug. >>>> >>>> >>>> *Fix:* In base.py (widgets/sourcecode) line 416 >>>> >>>> >>>> # If there is a common indent to all lines, remove it >>>> >>>> min_indent = 999 >>>> >>>> current_indent = 0 >>>> >>>> lines = text.split(ls) >>>> >>>> for i in xrange(len(lines)): >>>> >>>> line = lines[i] >>>> >>>> if line.strip(): >>>> >>>> current_indent = _indent(line) >>>> >>>> min_indent = min(current_indent, min_indent) >>>> >>>> else: >>>> >>>> lines[i] = ' ' * current_indent >>>> >>>> text = ls.join([line[min_indent:] for line in lines]) >>>> >>>> * >>>> * >>>> >>>> It solves the problem for me. The number of space characters added to >>>> empty lines has to be the current indentation, for the case of nested >>>> loops. >>>> >>>> >>>> Yeah, I was thinking something like this would solve the problem. >>>> Thanks a lot for the patch, I'll review it later this week. >>>> >>>> *2) Editor widget and debug toolbar* >>>> >>>> * >>>> * >>>> >>>> The debug toolbar items are missing when separating the editor dock >>>> from the main window. >>>> >>>> *Fix:* In editor.py (plugins) line 903 >>>> * >>>> * >>>> self.dock_toolbar_actions = file_toolbar_actions + [None] + \ >>>> source_toolbar_actions + [None] + >>>> \ >>>> run_toolbar_actions + [None] + \ >>>> debug_toolbar_actions + [None] + \ >>>> edit_toolbar_actions >>>> >>>> >>>> >>>> Again, thanks for the patch. This seems a harmless addition, so I'll >>>> add it this weekend too. >>>> >>>> *3) Regarding issue >>>> 852<https://code.google.com/p/spyderlib/issues/detail?id=852&q=MS%3Dv2.3&colspec=ID%20MS%20Stars%20Priority%20Modified%20Cat%20Type%20Status%20Owner%20Summary> >>>> * >>>> >>>> >>>> With the first point corrected as mentioned above, the "hack" of >>>> mixins.py documented already does the job to add the Matlab-like cell >>>> feature. So I don't really see why one should consider it as a hack, or >>>> why >>>> it would be less maintainable than the current version. >>>> >>>> >>>> - text = unicode(cursor0.selectedText()) >>>> >>>> - return len(text.strip()) == 0 or text.lstrip()[0] == '#' >>>> >>>> + text = unicode(cursor0.selectedText()).lstrip() >>>> >>>> + return text[:2] == '# %%' or text[:12] == '# <codecell>' >>>> The thing is that with this modification, the behavior will already be >>>> the one you want eventually, and this Matlab-like cell feature is the most >>>> popular feature request in the tracker. To be rigorous, "block" should be >>>> replaced by "cell" in doc strings, functions names, and menus. >>>> >>>> >>>> I disagree with you on this point. I think we need to maintain "Run >>>> selection" as a feature and add "Run cell" as a new one. This is my >>>> reasoning: I want Spyder remains as beginner friendly as possible, so if >>>> you want to select some text and send it to the console, that should still >>>> be possible too. Also, if you want to run consecutive chunks of code >>>> separated by blank lines (as it's the case now), that should be possible >>>> too. I'm not so sure about block separation using '#'. I think once cells >>>> are in we are going to eliminate it, as you're suggesting with our patch. >>>> >>>> I know that Carlos wants to add some graphical visualization of the >>>> cells in the editor (horizontal lines and coloring), but with this >>>> modification, the behavior of Spyder 2.2 would already be more consistent >>>> with what you guys want to do in 2.3. >>>> >>>> >>>> It's not only that I want to add visual clues to cells. There are >>>> several things to consider: >>>> >>>> 1. Since "Run cell" is a new feature, it'll need a new icon in the Run >>>> toolbar and of course a new action in the menus. We would need to add some >>>> docs about it too. >>>> >>>> 2. Cells should not be allowed inside indented code (e.g for/while >>>> loops). Someone mentioned that Matlab follows this principle and I think >>>> it's a good one, i.e. cells must enclose full code chunks. >>>> >>>> 3. We need to decide what happens when one adds only one cell >>>> separator. In that case I would like that Spyder ran all lines from the >>>> file's beginning to the separator if the cursor is before it, or from the >>>> separator to the end if the cursor is after it (I don't know how Matlab >>>> handles this case). >>>> >>>> These points are not covered by your patch, so we (the devs) would need >>>> to put more time on it (which don't have right now). Look, I don't want to >>>> be stubborn here. If you make my points work and the feature is well >>>> tested, I'll have no problem merging your work during the 2.2 cycle (let's >>>> say in 2.2.1 or .2). The visual cell clues and all that could be added in >>>> 2.3. >>>> >>>> *4) No warning in the case of presence of lock files* >>>> >>>> >>>> If spyder crashes and spyder.lock directory remains, spyder won't >>>> start again, and no error message is displayed. It just fails to start. >>>> Maybe a their should be at least an error message in the console or even >>>> better a pop-up window. >>>> >>>> >>>> This is very serious. Under what circumstances is this happening to >>>> you? I was very careful at selecting a lock mechanism that was able to >>>> launch Spyder again if there is a crash. In Issue 1325 we discovered it >>>> won't work on Windows if you don't have pywin32 installed. But on Linux >>>> and >>>> Mac it should work as expected. >>>> >>>> Could you give us a reproducible test case? >>>> >>>> Finally, I would really like to thank Carlos, Pierre and Jed for >>>> their incredible work on this IDE. I think that spyder 2.2 will really >>>> become a reference. You guys are going to become as famous as the creators >>>> of ipython, or numpy. Spyder was the missing link in the scientific python >>>> world and you created it. >>>> >>>> >>>> Thanks a lot for your kind words. We think that too: that something >>>> like Spyder was missing to complete the Python scientific stack. >>>> >>>> Cheers, >>>> Carlos >>>> >>>> Cheers, >>>> >>>> >>>> Sylvain >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "spyder" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/spyderlib?hl=en. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>>> >>>> >>>> >>>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "spyder" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/spyderlib/brqE6p5bpkM/unsubscribe?hl=en >> . >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> To post to this group, send email to [email protected]<javascript:> >> . >> Visit this group at http://groups.google.com/group/spyderlib?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- > You received this message because you are subscribed to the Google Groups > "spyder" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To post to this group, send email to [email protected]<javascript:> > . > Visit this group at http://groups.google.com/group/spyderlib?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- You received this message because you are subscribed to the Google Groups "spyder" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/spyderlib?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
