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] <mailto:[email protected]>> 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]
    <mailto:spyderlib%[email protected]>.
    To post to this group, send email to [email protected]
    <mailto:[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 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 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.


Reply via email to