##// END OF EJS Templates
Improve async detection mechanism with blacklist...
Improve async detection mechanism with blacklist Because the async repl works by wrapping any code that raises SyntaxError in an async function and trying to execute it again, cell bodies that are invalid at the top level but valid in functions and methods (e.g. return and yield statements) currently allow executing invalid code. This patch blacklists return and yield statements outside of a function or method to restore the proper SyntaxError behavior.

File last commit:

r18354:4bd9a4c3
r24485:c4bf6326
Show More
ipy_kernel_and_terminal.svg
281 lines | 12.3 KiB | image/svg+xml | TextLexer
/ docs / source / development / figs / ipy_kernel_and_terminal.svg
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="589.86841"
height="532.51233"
id="svg2"
version="1.1"
inkscape:version="0.48.5 r10040"
sodipodi:docname="New document 1">
<defs
id="defs4">
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend"
style="overflow:visible">
<path
id="path3857"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 526.18109 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="764.09448 : 613.32395 : 1"
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
id="perspective3814" />
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3857-5"
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="26.0015"
inkscape:cy="66.637114"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:snap-object-midpoints="false"
inkscape:window-width="1680"
inkscape:window-height="1014"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
units="cm"
fit-margin-top="1"
fit-margin-right="1"
fit-margin-bottom="1"
fit-margin-left="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-96.410679,217.95483)">
<path
sodipodi:type="arc"
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3766"
sodipodi:cx="338.57144"
sodipodi:cy="588.79077"
sodipodi:rx="205.71428"
sodipodi:ry="70.714287"
d="m 544.28572,588.79077 c 0,39.05442 -92.10142,70.71429 -205.71428,70.71429 -113.61286,0 -205.71428,-31.65987 -205.71428,-70.71429 0,-39.05442 92.10142,-70.71429 205.71428,-70.71429 113.61286,0 205.71428,31.65987 205.71428,70.71429 z"
transform="matrix(1,0,0,1.1278581,0,-730.60879)" />
<g
id="g3782"
transform="translate(61.428571,-349.14286)">
<path
transform="matrix(0.92727271,0,0,1.0231405,15.012992,-6.2896699)"
d="m 304.28571,282.36218 c 0,34.71504 -43.81213,62.85715 -97.85714,62.85715 -54.045,0 -97.85714,-28.14211 -97.85714,-62.85715 0,-34.71504 43.81214,-62.85714 97.85714,-62.85714 54.04501,0 97.85714,28.1421 97.85714,62.85714 z"
sodipodi:ry="62.857143"
sodipodi:rx="97.85714"
sodipodi:cy="282.36218"
sodipodi:cx="206.42857"
id="path3780"
style="fill:#52b4ff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<text
sodipodi:linespacing="125%"
id="text3768"
y="272.29187"
x="206.92076"
style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
xml:space="preserve"><tspan
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
y="272.29187"
x="206.92076"
id="tspan3770"
sodipodi:role="line">Python</tspan><tspan
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
id="tspan3772"
y="312.29187"
x="206.92076"
sodipodi:role="line">execution</tspan></text>
</g>
<text
xml:space="preserve"
style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
x="390"
y="-76.035278"
id="text3788"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3790"
x="390"
y="-76.035278"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">stdin &amp;</tspan><tspan
sodipodi:role="line"
x="390"
y="-36.035278"
id="tspan3792"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Droid Sans;-inkscape-font-specification:Droid Sans">stdout</tspan></text>
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans Bold"
x="517.14288"
y="-158.20926"
id="text3794"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3796"
x="517.14288"
y="-158.20926">Terminal</tspan><tspan
sodipodi:role="line"
x="517.14288"
y="-118.20926"
id="tspan3800">IPython</tspan></text>
<path
sodipodi:type="arc"
style="fill:#52b4ff;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="path3798"
sodipodi:cx="260"
sodipodi:cy="685.93359"
sodipodi:rx="100"
sodipodi:ry="196.42857"
d="m 360,685.93359 c 0,108.48451 -44.77153,196.42858 -100,196.42858 -55.22847,0 -100,-87.94407 -100,-196.42858 0,-108.4845 44.77153,-196.42857 100,-196.42857 55.22847,0 100,87.94407 100,196.42857 z"
transform="matrix(1.1189801,0,0,0.92946844,-23.322527,-628.33705)" />
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
x="228.57144"
y="84.647888"
id="text3802"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3804"
x="228.57144"
y="84.647888">JSON,</tspan><tspan
sodipodi:role="line"
x="228.57144"
y="124.64789"
id="tspan3806">ØMQ</tspan></text>
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans Bold"
x="368.57144"
y="128.93359"
id="text3808"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan3810"
x="368.57144"
y="128.93359">IPython</tspan><tspan
sodipodi:role="line"
x="368.57144"
y="168.93359"
id="tspan3812">Kernel</tspan></text>
<g
sodipodi:type="inkscape:box3d"
style="fill:#52b4ff;fill-opacity:0;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
id="g3816"
inkscape:perspectiveID="#perspective3814"
inkscape:corner0="0.75968289 : 0.77789212 : 0 : 1"
inkscape:corner7="0.0055330806 : 0.38177683 : 0.99976299 : 1">
<path
sodipodi:type="inkscape:box3dside"
id="path3828"
style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
inkscape:box3dsidetype="11"
d="m 508.07326,-461.53631 154.81767,-93.98694 0,197.53457 -154.81767,40.00122 z" />
<path
sodipodi:type="inkscape:box3dside"
id="path3818"
style="fill:#353564;fill-rule:evenodd;stroke:none"
inkscape:box3dsidetype="6"
d="m 307.83925,-554.01393 0,225.10607 200.23401,10.9204 0,-143.54885 z" />
<path
sodipodi:type="inkscape:box3dside"
id="path3820"
style="fill:#4d4d9f;fill-rule:evenodd;stroke:none"
inkscape:box3dsidetype="5"
d="m 307.83925,-554.01393 158.57143,-256.79275 196.48025,255.28343 -154.81767,93.98694 z" />
<path
sodipodi:type="inkscape:box3dside"
id="path3826"
style="fill:#afafde;fill-rule:evenodd;stroke:none"
inkscape:box3dsidetype="13"
d="m 307.83925,-328.90786 158.57143,-87.96321 196.48025,58.88239 -154.81767,40.00122 z" />
<path
sodipodi:type="inkscape:box3dside"
id="path3824"
style="fill:#d7d7ff;fill-rule:evenodd;stroke:none"
inkscape:box3dsidetype="14"
d="m 466.41068,-810.80668 0,393.93561 196.48025,58.88239 0,-197.53457 z" />
<path
sodipodi:type="inkscape:box3dside"
id="path3822"
style="fill:#8686bf;fill-rule:evenodd;stroke:none"
inkscape:box3dsidetype="3"
d="m 307.83925,-554.01393 158.57143,-256.79275 0,393.93561 -158.57143,87.96321 z" />
</g>
<g
id="g4300"
transform="translate(1.924434,-652)">
<path
inkscape:connector-curvature="0"
id="path3830"
d="m 275.71429,841.83443 0,84.28572"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
<path
inkscape:connector-curvature="0"
id="path3830-6"
d="m 255.66144,928.60421 0,-84.28572"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Lend)" />
</g>
<text
xml:space="preserve"
style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Droid Sans;-inkscape-font-specification:Droid Sans"
x="292.85715"
y="267.505"
id="text4304"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4306"
x="292.85715"
y="267.505"
style="font-size:24px;font-style:italic;-inkscape-font-specification:Droid Sans Italic">Messages</tspan></text>
</g>
</svg>