Documentation/Source/eric5.DebugClients.Python.DebugClientThreads.html

Sat, 02 Jan 2010 18:19:35 +0000

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 02 Jan 2010 18:19:35 +0000
changeset 17
edde1fe80b3e
child 21
b88a0e6268bd
permissions
-rw-r--r--

Updated documentation.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html><head>
<title>eric5.DebugClients.Python.DebugClientThreads</title>
<style>
b'body {\n    background:white;\n    margin: 0em 1em 10em 1em;\n    color: black;\n}\n\nh1 { color: white; background: #4FA4FF; }\nh2 { color: white; background: #4FA4FF; }\nh3 { color: white; background: #00557F; }\nh4 { color: white; background: #00557F; }\n    \na { color: #AA5500; }\n'
</style>
</head>
<body><a NAME="top" ID="top"></a>
<h1>eric5.DebugClients.Python.DebugClientThreads</h1>
<p>
&#77;&#111;&#100;&#117;&#108;&#101; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#109;&#117;&#108;&#116;&#105;&#116;&#104;&#114;&#101;&#97;&#100;&#101;&#100; v&#101;&#114;&#115;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#99;&#108;&#105;&#101;&#110;&#116;.
</p>
<h3>Global Attributes</h3>
<table>
<tr><td>_original_start_thread</td></tr>
</table>
<h3>Classes</h3>
<table>
<tr>
<td><a href="#DebugClientThreads">DebugClientThreads</a></td>
<td>&#67;&#108;&#97;&#115;&#115; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#115;&#105;&#100;&#101; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;.</td>
</tr>
</table>
<h3>Functions</h3>
<table>
<tr>
<td><a href="#_debugclient_start_new_thread">_debugclient_start_new_thread</a></td>
<td>&#77;&#111;&#100;&#117;&#108;&#101; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#117;&#115;&#101;&#100; &#116;&#111; &#97;&#108;&#108;&#111;w &#102;&#111;&#114; &#100;&#101;&#98;&#117;&#103;&#103;&#105;&#110;&#103; &#111;&#102; &#109;&#117;&#108;&#116;&#105;&#112;&#108;&#101; &#116;&#104;&#114;&#101;&#97;&#100;&#115;.</td>
</tr>
</table>
<hr /><hr />
<a NAME="DebugClientThreads" ID="DebugClientThreads"></a>
<h2>DebugClientThreads</h2>
<p>
    &#67;&#108;&#97;&#115;&#115; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#115;&#105;&#100;&#101; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;.
</p><p>
    &#84;&#104;&#105;&#115; v&#97;&#114;&#105;&#97;&#110;&#116; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#115; &#97; &#116;&#104;&#114;&#101;&#97;&#100;&#101;&#100; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#99;&#108;&#105;&#101;&#110;&#116;
    &#98;y &#115;&#117;&#98;&#99;&#108;&#97;&#115;&#115;&#105;&#110;&#103; &#97;&#108;&#108; &#114;&#101;&#108;&#101;v&#97;&#110;&#116; &#98;&#97;&#115;&#101; &#99;&#108;&#97;&#115;&#115;&#101;&#115;.
</p>
<h3>Derived from</h3>
DebugClientBase.DebugClientBase, AsyncIO
<h3>Class Attributes</h3>
<table>
<tr><td>debugClient</td></tr>
</table>
<h3>Methods</h3>
<table>
<tr>
<td><a href="#DebugClientThreads.__init__">DebugClientThreads</a></td>
<td>&#67;&#111;&#110;&#115;&#116;&#114;&#117;&#99;&#116;&#111;&#114;</td>
</tr><tr>
<td><a href="#DebugClientThreads.attachThread">attachThread</a></td>
<td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#115;&#101;&#116;&#117;&#112; &#97; &#116;&#104;&#114;&#101;&#97;&#100; &#102;&#111;&#114; &#68;&#101;&#98;&#117;&#103;&#67;&#108;&#105;&#101;&#110;&#116; &#116;&#111; &#100;&#101;&#98;&#117;&#103;.</td>
</tr><tr>
<td><a href="#DebugClientThreads.eventLoop">eventLoop</a></td>
<td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#111;&#117;&#114; &#101;v&#101;&#110;&#116; &#108;&#111;&#111;&#112;.</td>
</tr><tr>
<td><a href="#DebugClientThreads.lockClient">lockClient</a></td>
<td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#97;&#99;&#113;&#117;&#105;&#114;&#101; &#116;&#104;&#101; &#108;&#111;&#99;&#107; &#102;&#111;&#114; &#116;&#104;&#105;&#115; &#99;&#108;&#105;&#101;&#110;&#116;.</td>
</tr><tr>
<td><a href="#DebugClientThreads.setCurrentThread">setCurrentThread</a></td>
<td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#115;&#101;&#116; &#116;&#104;&#101; &#99;&#117;&#114;&#114;&#101;&#110;&#116; &#116;&#104;&#114;&#101;&#97;&#100;.</td>
</tr><tr>
<td><a href="#DebugClientThreads.set_quit">set_quit</a></td>
<td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#100;&#111; &#97; '&#115;&#101;&#116; &#113;&#117;&#105;&#116;' &#111;&#110; &#97;&#108;&#108; &#116;&#104;&#114;&#101;&#97;&#100;&#115;.</td>
</tr><tr>
<td><a href="#DebugClientThreads.threadTerminated">threadTerminated</a></td>
<td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#99;&#97;&#108;&#108;&#101;&#100; w&#104;&#101;&#110; &#97; &#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100; &#104;&#97;&#115; &#101;x&#105;&#116;&#101;&#100;.</td>
</tr><tr>
<td><a href="#DebugClientThreads.unlockClient">unlockClient</a></td>
<td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#108;&#101;&#97;&#115;&#101; &#116;&#104;&#101; &#108;&#111;&#99;&#107; &#102;&#111;&#114; &#116;&#104;&#105;&#115; &#99;&#108;&#105;&#101;&#110;&#116;.</td>
</tr>
</table>
<a NAME="DebugClientThreads.__init__" ID="DebugClientThreads.__init__"></a>
<h4>DebugClientThreads (Constructor)</h4>
<b>DebugClientThreads</b>(<i></i>)
<p>
        &#67;&#111;&#110;&#115;&#116;&#114;&#117;&#99;&#116;&#111;&#114;
</p><a NAME="DebugClientThreads.attachThread" ID="DebugClientThreads.attachThread"></a>
<h4>DebugClientThreads.attachThread</h4>
<b>attachThread</b>(<i>target = None, args = None, kwargs = None, mainThread = 0</i>)
<p>
        &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#115;&#101;&#116;&#117;&#112; &#97; &#116;&#104;&#114;&#101;&#97;&#100; &#102;&#111;&#114; &#68;&#101;&#98;&#117;&#103;&#67;&#108;&#105;&#101;&#110;&#116; &#116;&#111; &#100;&#101;&#98;&#117;&#103;.
</p><p>
        &#73;&#102; &#109;&#97;&#105;&#110;&#84;&#104;&#114;&#101;&#97;&#100; &#105;&#115; &#110;&#111;&#110;-z&#101;&#114;&#111;, &#116;&#104;&#101;&#110; w&#101; &#97;&#114;&#101; &#97;&#116;&#116;&#97;&#99;&#104;&#105;&#110;&#103; &#116;&#111; &#116;&#104;&#101; &#97;&#108;&#114;&#101;&#97;&#100;y 
        &#115;&#116;&#97;&#114;&#116;&#101;&#100; &#109;&#97;&#105;&#110;&#116;&#104;&#114;&#101;&#97;&#100; &#111;&#102; &#116;&#104;&#101; &#97;&#112;&#112; &#97;&#110;&#100; &#116;&#104;&#101; &#114;&#101;&#115;&#116; &#111;&#102; &#116;&#104;&#101; &#97;&#114;&#103;&#115; &#97;&#114;&#101; &#105;&#103;&#110;&#111;&#114;&#101;&#100;.
</p><dl>
<dt><i>target</i></dt>
<dd>
&#116;&#104;&#101; &#115;&#116;&#97;&#114;&#116; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#116;&#97;&#114;&#103;&#101;&#116; &#116;&#104;&#114;&#101;&#97;&#100; (&#105;.&#101;. &#116;&#104;&#101; &#117;&#115;&#101;&#114; &#99;&#111;&#100;&#101;)
</dd><dt><i>args</i></dt>
<dd>
&#97;&#114;&#103;&#117;&#109;&#101;&#110;&#116;&#115; &#116;&#111; &#112;&#97;&#115;&#115; &#116;&#111; &#116;&#97;&#114;&#103;&#101;&#116;
</dd><dt><i>kwargs</i></dt>
<dd>
&#107;&#101;yw&#111;&#114;&#100; &#97;&#114;&#103;&#117;&#109;&#101;&#110;&#116;&#115; &#116;&#111; &#112;&#97;&#115;&#115; &#116;&#111; &#116;&#97;&#114;&#103;&#101;&#116;
</dd><dt><i>mainThread</i></dt>
<dd>
&#110;&#111;&#110;-z&#101;&#114;&#111;, &#105;&#102; w&#101; &#97;&#114;&#101; &#97;&#116;&#116;&#97;&#99;&#104;&#105;&#110;&#103; &#116;&#111; &#116;&#104;&#101; &#97;&#108;&#114;&#101;&#97;&#100;y
              &#115;&#116;&#97;&#114;&#116;&#101;&#100; &#109;&#97;&#105;&#110;&#116;&#104;&#114;&#101;&#97;&#100; &#111;&#102; &#116;&#104;&#101; &#97;&#112;&#112;
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
&#84;&#104;&#101; &#105;&#100;&#101;&#110;&#116;&#105;&#102;&#105;&#101;&#114; &#111;&#102; &#116;&#104;&#101; &#99;&#114;&#101;&#97;&#116;&#101;&#100; &#116;&#104;&#114;&#101;&#97;&#100;
</dd>
</dl><a NAME="DebugClientThreads.eventLoop" ID="DebugClientThreads.eventLoop"></a>
<h4>DebugClientThreads.eventLoop</h4>
<b>eventLoop</b>(<i>disablePolling = False</i>)
<p>
        &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#111;&#117;&#114; &#101;v&#101;&#110;&#116; &#108;&#111;&#111;&#112;.
</p><dl>
<dt><i>disablePolling</i></dt>
<dd>
&#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#116;&#111; &#101;&#110;&#116;&#101;&#114; &#97;&#110; &#101;v&#101;&#110;&#116; &#108;&#111;&#111;&#112; w&#105;&#116;&#104;
            &#112;&#111;&#108;&#108;&#105;&#110;&#103; &#100;&#105;&#115;&#97;&#98;&#108;&#101;&#100; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;)
</dd>
</dl><a NAME="DebugClientThreads.lockClient" ID="DebugClientThreads.lockClient"></a>
<h4>DebugClientThreads.lockClient</h4>
<b>lockClient</b>(<i>blocking = 1</i>)
<p>
        &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#97;&#99;&#113;&#117;&#105;&#114;&#101; &#116;&#104;&#101; &#108;&#111;&#99;&#107; &#102;&#111;&#114; &#116;&#104;&#105;&#115; &#99;&#108;&#105;&#101;&#110;&#116;.
</p><dl>
<dt><i>blocking</i></dt>
<dd>
&#102;&#108;&#97;&#103; &#116;&#111; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#97; &#98;&#108;&#111;&#99;&#107;&#105;&#110;&#103; &#108;&#111;&#99;&#107;
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
&#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#115;&#117;&#99;&#99;&#101;&#115;&#115;&#102;&#117;&#108; &#108;&#111;&#99;&#107;&#105;&#110;&#103;
</dd>
</dl><a NAME="DebugClientThreads.setCurrentThread" ID="DebugClientThreads.setCurrentThread"></a>
<h4>DebugClientThreads.setCurrentThread</h4>
<b>setCurrentThread</b>(<i>id</i>)
<p>
        &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#115;&#101;&#116; &#116;&#104;&#101; &#99;&#117;&#114;&#114;&#101;&#110;&#116; &#116;&#104;&#114;&#101;&#97;&#100;.
</p><dl>
<dt><i>id</i></dt>
<dd>
&#116;&#104;&#101; &#105;&#100; &#116;&#104;&#101; &#99;&#117;&#114;&#114;&#101;&#110;&#116; &#116;&#104;&#114;&#101;&#97;&#100; &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; &#115;&#101;&#116; &#116;&#111;.
</dd>
</dl><a NAME="DebugClientThreads.set_quit" ID="DebugClientThreads.set_quit"></a>
<h4>DebugClientThreads.set_quit</h4>
<b>set_quit</b>(<i></i>)
<p>
        &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#100;&#111; &#97; '&#115;&#101;&#116; &#113;&#117;&#105;&#116;' &#111;&#110; &#97;&#108;&#108; &#116;&#104;&#114;&#101;&#97;&#100;&#115;.
</p><a NAME="DebugClientThreads.threadTerminated" ID="DebugClientThreads.threadTerminated"></a>
<h4>DebugClientThreads.threadTerminated</h4>
<b>threadTerminated</b>(<i>dbgThread</i>)
<p>
        &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#99;&#97;&#108;&#108;&#101;&#100; w&#104;&#101;&#110; &#97; &#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100; &#104;&#97;&#115; &#101;x&#105;&#116;&#101;&#100;.
</p><dl>
<dt><i>dbgThread</i></dt>
<dd>
&#116;&#104;&#101; &#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100; &#116;&#104;&#97;&#116; &#104;&#97;&#115; &#101;x&#105;&#116;&#101;&#100;
</dd>
</dl><a NAME="DebugClientThreads.unlockClient" ID="DebugClientThreads.unlockClient"></a>
<h4>DebugClientThreads.unlockClient</h4>
<b>unlockClient</b>(<i></i>)
<p>
        &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#108;&#101;&#97;&#115;&#101; &#116;&#104;&#101; &#108;&#111;&#99;&#107; &#102;&#111;&#114; &#116;&#104;&#105;&#115; &#99;&#108;&#105;&#101;&#110;&#116;.
</p>
<div align="right"><a href="#top">Up</a></div>
<hr /><hr />
<a NAME="_debugclient_start_new_thread" ID="_debugclient_start_new_thread"></a>
<h2>_debugclient_start_new_thread</h2>
<b>_debugclient_start_new_thread</b>(<i>target, args, kwargs={}</i>)
<p>
    &#77;&#111;&#100;&#117;&#108;&#101; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#117;&#115;&#101;&#100; &#116;&#111; &#97;&#108;&#108;&#111;w &#102;&#111;&#114; &#100;&#101;&#98;&#117;&#103;&#103;&#105;&#110;&#103; &#111;&#102; &#109;&#117;&#108;&#116;&#105;&#112;&#108;&#101; &#116;&#104;&#114;&#101;&#97;&#100;&#115;.
</p><p>
    &#84;&#104;&#101; w&#97;y &#105;&#116; w&#111;&#114;&#107;&#115; &#105;&#115; &#116;&#104;&#97;&#116; &#98;&#101;&#108;&#111;w, w&#101; &#114;&#101;&#115;&#101;&#116; &#116;&#104;&#114;&#101;&#97;&#100;.&#95;&#115;&#116;&#97;&#114;&#116;&#95;&#110;&#101;w&#95;&#116;&#104;&#114;&#101;&#97;&#100; &#116;&#111; 
    &#116;&#104;&#105;&#115; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#111;&#98;&#106;&#101;&#99;&#116;. &#84;&#104;&#117;&#115;, &#112;&#114;&#111;v&#105;&#100;&#105;&#110;&#103; &#97; &#104;&#111;&#111;&#107; &#102;&#111;&#114; &#117;&#115; &#116;&#111; &#115;&#101;&#101; w&#104;&#101;&#110;
    &#116;&#104;&#114;&#101;&#97;&#100;&#115; &#97;&#114;&#101; &#115;&#116;&#97;&#114;&#116;&#101;&#100;. &#70;&#114;&#111;&#109; &#104;&#101;&#114;&#101; w&#101; &#102;&#111;&#114;w&#97;&#114;&#100; &#116;&#104;&#101; &#114;&#101;&#113;&#117;&#101;&#115;&#116; &#111;&#110;&#116;&#111; &#116;&#104;&#101; 
    &#68;&#101;&#98;&#117;&#103;&#67;&#108;&#105;&#101;&#110;&#116; w&#104;&#105;&#99;&#104; w&#105;&#108;&#108; &#99;&#114;&#101;&#97;&#116;&#101; &#97; &#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100; &#111;&#98;&#106;&#101;&#99;&#116; &#116;&#111; &#97;&#108;&#108;&#111;w &#116;&#114;&#97;&#99;&#105;&#110;&#103;
    &#111;&#102; &#116;&#104;&#101; &#116;&#104;&#114;&#101;&#97;&#100; &#116;&#104;&#101;&#110; &#115;&#116;&#97;&#114;&#116; &#117;&#112; &#116;&#104;&#101; &#116;&#104;&#114;&#101;&#97;&#100;. &#84;&#104;&#101;&#115;&#101; &#97;&#99;&#116;&#105;&#111;&#110;&#115; &#97;&#114;&#101; &#97;&#108;w&#97;y&#115;
    &#112;&#101;&#114;&#102;&#111;&#114;&#109;&#101;&#100; &#105;&#110; &#111;&#114;&#100;&#101;&#114; &#116;&#111; &#97;&#108;&#108;&#111;w &#100;&#114;&#111;&#112;&#112;&#105;&#110;&#103; &#105;&#110;&#116;&#111; &#100;&#101;&#98;&#117;&#103; &#109;&#111;&#100;&#101;.
</p><p>
    &#83;&#101;&#101; &#68;&#101;&#98;&#117;&#103;&#67;&#108;&#105;&#101;&#110;&#116;&#84;&#104;&#114;&#101;&#97;&#100;&#115;.&#97;&#116;&#116;&#97;&#99;&#104;&#84;&#104;&#114;&#101;&#97;&#100; &#97;&#110;&#100; &#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100;.&#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100; &#105;&#110; 
    &#68;&#101;&#98;&#117;&#103;&#84;&#104;&#114;&#101;&#97;&#100;.&#112;y
</p><dl>
<dt><i>target</i></dt>
<dd>
&#116;&#104;&#101; &#115;&#116;&#97;&#114;&#116; &#102;&#117;&#110;&#99;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; &#116;&#97;&#114;&#103;&#101;&#116; &#116;&#104;&#114;&#101;&#97;&#100; (&#105;.&#101;. &#116;&#104;&#101; &#117;&#115;&#101;&#114; &#99;&#111;&#100;&#101;)
</dd><dt><i>args</i></dt>
<dd>
&#97;&#114;&#103;&#117;&#109;&#101;&#110;&#116;&#115; &#116;&#111; &#112;&#97;&#115;&#115; &#116;&#111; &#116;&#97;&#114;&#103;&#101;&#116;
</dd><dt><i>kwargs</i></dt>
<dd>
&#107;&#101;yw&#111;&#114;&#100; &#97;&#114;&#103;&#117;&#109;&#101;&#110;&#116;&#115; &#116;&#111; &#112;&#97;&#115;&#115; &#116;&#111; &#116;&#97;&#114;&#103;&#101;&#116;
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
&#84;&#104;&#101; &#105;&#100;&#101;&#110;&#116;&#105;&#102;&#105;&#101;&#114; &#111;&#102; &#116;&#104;&#101; &#99;&#114;&#101;&#97;&#116;&#101;&#100; &#116;&#104;&#114;&#101;&#97;&#100;
</dd>
</dl>
<div align="right"><a href="#top">Up</a></div>
<hr />
</body></html>

eric ide

mercurial