Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
533281dd
Commit
533281dd
authored
Mar 25, 2012
by
Benjamin Peterson
Browse files
Options
Browse Files
Download
Plain Diff
merge heads
parents
a8755c58
d34fc8b2
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
362 additions
and
8 deletions
+362
-8
Doc/conf.py
Doc/conf.py
+4
-1
Doc/howto/cporting.rst
Doc/howto/cporting.rst
+1
-1
Doc/howto/curses.rst
Doc/howto/curses.rst
+3
-3
Doc/tools/sphinxext/layout.html
Doc/tools/sphinxext/layout.html
+1
-0
Doc/tools/sphinxext/pydoctheme/static/pydoctheme.css
Doc/tools/sphinxext/pydoctheme/static/pydoctheme.css
+170
-0
Doc/tools/sphinxext/pydoctheme/theme.conf
Doc/tools/sphinxext/pydoctheme/theme.conf
+23
-0
Doc/tools/sphinxext/pyspecific.py
Doc/tools/sphinxext/pyspecific.py
+2
-2
Doc/tools/sphinxext/static/copybutton.js
Doc/tools/sphinxext/static/copybutton.js
+2
-1
Doc/tools/sphinxext/static/sidebar.js
Doc/tools/sphinxext/static/sidebar.js
+155
-0
Lib/test/test_threading.py
Lib/test/test_threading.py
+1
-0
No files found.
Doc/conf.py
View file @
533281dd
...
...
@@ -65,9 +65,12 @@ highlight_language = 'python3'
# Options for HTML output
# -----------------------
html_theme
=
'default'
html_theme
=
'pydoctheme'
html_theme_path
=
[
'tools/sphinxext'
]
html_theme_options
=
{
'collapsiblesidebar'
:
True
}
html_short_title
=
'%s Documentation'
%
release
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
html_last_updated_fmt
=
'%b %d, %Y'
...
...
Doc/howto/cporting.rst
View file @
533281dd
...
...
@@ -257,7 +257,7 @@ behave slightly differently from real Capsules. Specifically:
returns failure. (Since there's no way to store a name
in a CObject, noisy failure of :c:func:`PyCapsule_SetName`
was deemed preferable to silent failure here. If this is
inconveient, feel free to modify your local
inconve
n
ient, feel free to modify your local
copy as you see fit.)
You can find :file:`capsulethunk.h` in the Python source distribution
...
...
Doc/howto/curses.rst
View file @
533281dd
...
...
@@ -118,7 +118,7 @@ function to restore the terminal to its original operating mode. ::
A common problem when debugging a curses application is to get your terminal
messed up when the application dies without restoring the terminal to its
previous state. In Python this commonly happens when your code is buggy and
raises an uncaught exception. Keys are no longer
be
echoed to the screen when
raises an uncaught exception. Keys are no longer echoed to the screen when
you type them, for example, which makes using the shell difficult.
In Python you can avoid these complications and make debugging much easier by
...
...
@@ -271,7 +271,7 @@ application are commonly shown in reverse video; a text viewer may need to
highlight certain words. curses supports this by allowing you to specify an
attribute for each cell on the screen.
An attribute is a integer, each bit representing a different attribute. You can
An attribute is a
n
integer, each bit representing a different attribute. You can
try to display text with multiple attribute bits set, but curses doesn't
guarantee that all the possible combinations are available, or that they're all
visually distinct. That depends on the ability of the terminal being used, so
...
...
@@ -300,7 +300,7 @@ could code::
curses.A_REVERSE)
stdscr.refresh()
The curses library also supports color on those terminals that provide it
,
The
The curses library also supports color on those terminals that provide it
.
The
most common such terminal is probably the Linux console, followed by color
xterms.
...
...
Doc/tools/sphinxext/layout.html
View file @
533281dd
...
...
@@ -2,6 +2,7 @@
{% block rootrellink %}
<li><img
src=
"{{ pathto('_static/py.png', 1) }}"
alt=
""
style=
"vertical-align: middle; margin-top: -1px"
/></li>
<li><a
href=
"http://www.python.org/"
>
Python
</a>
{{ reldelim1 }}
</li>
<li><a
href=
"{{ pathto('index') }}"
>
{{ shorttitle }}
</a>
{{ reldelim1 }}
</li>
{% endblock %}
{% block extrahead %}
...
...
Doc/tools/sphinxext/pydoctheme/static/pydoctheme.css
0 → 100644
View file @
533281dd
@import
url("default.css")
;
body
{
background-color
:
white
;
margin-left
:
1em
;
margin-right
:
1em
;
}
div
.related
{
margin-bottom
:
1.2em
;
padding
:
0.5em
0
;
border-top
:
1px
solid
#ccc
;
margin-top
:
0.5em
;
}
div
.related
a
:hover
{
color
:
#0095C4
;
}
div
.related
:first-child
{
border-top
:
0
;
border-bottom
:
1px
solid
#ccc
;
}
div
.sphinxsidebar
{
background-color
:
#eeeeee
;
border-radius
:
5px
;
line-height
:
130%
;
font-size
:
smaller
;
}
div
.sphinxsidebar
h3
,
div
.sphinxsidebar
h4
{
margin-top
:
1.5em
;
}
div
.sphinxsidebarwrapper
>
h3
:first-child
{
margin-top
:
0.2em
;
}
div
.sphinxsidebarwrapper
>
ul
>
li
>
ul
>
li
{
margin-bottom
:
0.4em
;
}
div
.sphinxsidebar
a
:hover
{
color
:
#0095C4
;
}
div
.sphinxsidebar
input
{
font-family
:
'Lucida Grande'
,
Arial
,
sans-serif
;
border
:
1px
solid
#999999
;
font-size
:
smaller
;
border-radius
:
3px
;
}
div
.sphinxsidebar
input
[
type
=
text
]
{
max-width
:
150px
;
}
div
.body
{
padding
:
0
0
0
1.2em
;
}
div
.body
p
{
line-height
:
140%
;
}
div
.body
h1
,
div
.body
h2
,
div
.body
h3
,
div
.body
h4
,
div
.body
h5
,
div
.body
h6
{
margin
:
0
;
border
:
0
;
padding
:
0.3em
0
;
}
div
.body
hr
{
border
:
0
;
background-color
:
#ccc
;
height
:
1px
;
}
div
.body
pre
{
border-radius
:
3px
;
border
:
1px
solid
#ac9
;
}
div
.body
div
.admonition
,
div
.body
div
.impl-detail
{
border-radius
:
3px
;
}
div
.body
div
.impl-detail
>
p
{
margin
:
0
;
}
div
.body
div
.seealso
{
border
:
1px
solid
#dddd66
;
}
div
.body
a
{
color
:
#00608f
;
}
div
.body
a
:visited
{
color
:
#30306f
;
}
div
.body
a
:hover
{
color
:
#00B0E4
;
}
tt
,
pre
{
font-family
:
monospace
,
sans-serif
;
font-size
:
96.5%
;
}
div
.body
tt
{
border-radius
:
3px
;
}
div
.body
tt
.descname
{
font-size
:
120%
;
}
div
.body
tt
.xref
,
div
.body
a
tt
{
font-weight
:
normal
;
}
p
.deprecated
{
border-radius
:
3px
;
}
table
.docutils
{
border
:
1px
solid
#ddd
;
min-width
:
20%
;
border-radius
:
3px
;
margin-top
:
10px
;
margin-bottom
:
10px
;
}
table
.docutils
td
,
table
.docutils
th
{
border
:
1px
solid
#ddd
!important
;
border-radius
:
3px
;
}
table
p
,
table
li
{
text-align
:
left
!important
;
}
table
.docutils
th
{
background-color
:
#eee
;
padding
:
0.3em
0.5em
;
}
table
.docutils
td
{
background-color
:
white
;
padding
:
0.3em
0.5em
;
}
table
.footnote
,
table
.footnote
td
{
border
:
0
!important
;
}
div
.footer
{
line-height
:
150%
;
margin-top
:
-2em
;
text-align
:
right
;
width
:
auto
;
margin-right
:
10px
;
}
div
.footer
a
:hover
{
color
:
#0095C4
;
}
Doc/tools/sphinxext/pydoctheme/theme.conf
0 → 100644
View file @
533281dd
[
theme
]
inherit
=
default
stylesheet
=
pydoctheme
.
css
pygments_style
=
sphinx
[
options
]
bodyfont
=
'Lucida Grande'
,
Arial
,
sans
-
serif
headfont
=
'Lucida Grande'
,
Arial
,
sans
-
serif
footerbgcolor
=
white
footertextcolor
=
#555555
relbarbgcolor
=
white
relbartextcolor
=
#666666
relbarlinkcolor
=
#444444
sidebarbgcolor
=
white
sidebartextcolor
=
#444444
sidebarlinkcolor
=
#444444
bgcolor
=
white
textcolor
=
#222222
linkcolor
=
#0090c0
visitedlinkcolor
=
#00608f
headtextcolor
=
#1a1a1a
headbgcolor
=
white
headlinkcolor
=
#aaaaaa
Doc/tools/sphinxext/pyspecific.py
View file @
533281dd
...
...
@@ -27,10 +27,10 @@ def new_visit_versionmodified(self, node):
self
.
body
.
append
(
self
.
starttag
(
node
,
'p'
,
CLASS
=
node
[
'type'
]))
text
=
versionlabels
[
node
[
'type'
]]
%
node
[
'version'
]
if
len
(
node
):
text
+=
':
'
text
+=
':'
else
:
text
+=
'.'
self
.
body
.
append
(
'<span class="versionmodified">%s</span>'
%
text
)
self
.
body
.
append
(
'<span class="versionmodified">%s</span>
'
%
text
)
from
sphinx.writers.html
import
HTMLTranslator
from
sphinx.locale
import
versionlabels
...
...
Doc/tools/sphinxext/static/copybutton.js
View file @
533281dd
...
...
@@ -17,7 +17,8 @@ $(document).ready(function() {
'
cursor
'
:
'
pointer
'
,
'
position
'
:
'
absolute
'
,
'
top
'
:
'
0
'
,
'
right
'
:
'
0
'
,
'
border-color
'
:
border_color
,
'
border-style
'
:
border_style
,
'
border-width
'
:
border_width
,
'
color
'
:
border_color
,
'
text-size
'
:
'
75%
'
,
'
font-family
'
:
'
monospace
'
,
'
padding-left
'
:
'
0.2em
'
,
'
padding-right
'
:
'
0.2em
'
'
font-family
'
:
'
monospace
'
,
'
padding-left
'
:
'
0.2em
'
,
'
padding-right
'
:
'
0.2em
'
,
'
border-radius
'
:
'
0 3px 0 0
'
}
// create and add the button to all the code blocks that contain >>>
...
...
Doc/tools/sphinxext/static/sidebar.js
0 → 100644
View file @
533281dd
/*
* sidebar.js
* ~~~~~~~~~~
*
* This script makes the Sphinx sidebar collapsible.
*
* .sphinxsidebar contains .sphinxsidebarwrapper. This script adds in
* .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton used to
* collapse and expand the sidebar.
*
* When the sidebar is collapsed the .sphinxsidebarwrapper is hidden and the
* width of the sidebar and the margin-left of the document are decreased.
* When the sidebar is expanded the opposite happens. This script saves a
* per-browser/per-session cookie used to remember the position of the sidebar
* among the pages. Once the browser is closed the cookie is deleted and the
* position reset to the default (expanded).
*
* :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
$
(
function
()
{
// global elements used by the functions.
// the 'sidebarbutton' element is defined as global after its
// creation, in the add_sidebar_button function
var
bodywrapper
=
$
(
'
.bodywrapper
'
);
var
sidebar
=
$
(
'
.sphinxsidebar
'
);
var
sidebarwrapper
=
$
(
'
.sphinxsidebarwrapper
'
);
// original margin-left of the bodywrapper and width of the sidebar
// with the sidebar expanded
var
bw_margin_expanded
=
bodywrapper
.
css
(
'
margin-left
'
);
var
ssb_width_expanded
=
sidebar
.
width
();
// margin-left of the bodywrapper and width of the sidebar
// with the sidebar collapsed
var
bw_margin_collapsed
=
'
.8em
'
;
var
ssb_width_collapsed
=
'
.8em
'
;
// colors used by the current theme
var
dark_color
=
'
#AAAAAA
'
;
var
light_color
=
'
#CCCCCC
'
;
function
sidebar_is_collapsed
()
{
return
sidebarwrapper
.
is
(
'
:not(:visible)
'
);
}
function
toggle_sidebar
()
{
if
(
sidebar_is_collapsed
())
expand_sidebar
();
else
collapse_sidebar
();
}
function
collapse_sidebar
()
{
sidebarwrapper
.
hide
();
sidebar
.
css
(
'
width
'
,
ssb_width_collapsed
);
bodywrapper
.
css
(
'
margin-left
'
,
bw_margin_collapsed
);
sidebarbutton
.
css
({
'
margin-left
'
:
'
0
'
,
'
height
'
:
bodywrapper
.
height
(),
'
border-radius
'
:
'
5px
'
});
sidebarbutton
.
find
(
'
span
'
).
text
(
'
»
'
);
sidebarbutton
.
attr
(
'
title
'
,
_
(
'
Expand sidebar
'
));
document
.
cookie
=
'
sidebar=collapsed
'
;
}
function
expand_sidebar
()
{
bodywrapper
.
css
(
'
margin-left
'
,
bw_margin_expanded
);
sidebar
.
css
(
'
width
'
,
ssb_width_expanded
);
sidebarwrapper
.
show
();
sidebarbutton
.
css
({
'
margin-left
'
:
ssb_width_expanded
-
12
,
'
height
'
:
bodywrapper
.
height
(),
'
border-radius
'
:
'
0 5px 5px 0
'
});
sidebarbutton
.
find
(
'
span
'
).
text
(
'
«
'
);
sidebarbutton
.
attr
(
'
title
'
,
_
(
'
Collapse sidebar
'
));
//sidebarwrapper.css({'padding-top':
// Math.max(window.pageYOffset - sidebarwrapper.offset().top, 10)});
document
.
cookie
=
'
sidebar=expanded
'
;
}
function
add_sidebar_button
()
{
sidebarwrapper
.
css
({
'
float
'
:
'
left
'
,
'
margin-right
'
:
'
0
'
,
'
width
'
:
ssb_width_expanded
-
28
});
// create the button
sidebar
.
append
(
'
<div id="sidebarbutton"><span>«</span></div>
'
);
var
sidebarbutton
=
$
(
'
#sidebarbutton
'
);
// find the height of the viewport to center the '<<' in the page
var
viewport_height
;
if
(
window
.
innerHeight
)
viewport_height
=
window
.
innerHeight
;
else
viewport_height
=
$
(
window
).
height
();
var
sidebar_offset
=
sidebar
.
offset
().
top
;
var
sidebar_height
=
Math
.
max
(
bodywrapper
.
height
(),
sidebar
.
height
());
sidebarbutton
.
find
(
'
span
'
).
css
({
'
display
'
:
'
block
'
,
'
position
'
:
'
fixed
'
,
'
top
'
:
Math
.
min
(
viewport_height
/
2
,
sidebar_height
/
2
+
sidebar_offset
)
-
10
});
sidebarbutton
.
click
(
toggle_sidebar
);
sidebarbutton
.
attr
(
'
title
'
,
_
(
'
Collapse sidebar
'
));
sidebarbutton
.
css
({
'
border-radius
'
:
'
0 5px 5px 0
'
,
'
color
'
:
'
#444444
'
,
'
background-color
'
:
'
#CCCCCC
'
,
'
font-size
'
:
'
1.2em
'
,
'
cursor
'
:
'
pointer
'
,
'
height
'
:
sidebar_height
,
'
padding-top
'
:
'
1px
'
,
'
padding-left
'
:
'
1px
'
,
'
margin-left
'
:
ssb_width_expanded
-
12
});
sidebarbutton
.
hover
(
function
()
{
$
(
this
).
css
(
'
background-color
'
,
dark_color
);
},
function
()
{
$
(
this
).
css
(
'
background-color
'
,
light_color
);
}
);
}
function
set_position_from_cookie
()
{
if
(
!
document
.
cookie
)
return
;
var
items
=
document
.
cookie
.
split
(
'
;
'
);
for
(
var
k
=
0
;
k
<
items
.
length
;
k
++
)
{
var
key_val
=
items
[
k
].
split
(
'
=
'
);
var
key
=
key_val
[
0
];
if
(
key
==
'
sidebar
'
)
{
var
value
=
key_val
[
1
];
if
((
value
==
'
collapsed
'
)
&&
(
!
sidebar_is_collapsed
()))
collapse_sidebar
();
else
if
((
value
==
'
expanded
'
)
&&
(
sidebar_is_collapsed
()))
expand_sidebar
();
}
}
}
add_sidebar_button
();
var
sidebarbutton
=
$
(
'
#sidebarbutton
'
);
set_position_from_cookie
();
});
Lib/test/test_threading.py
View file @
533281dd
...
...
@@ -624,6 +624,7 @@ class ThreadJoinOnShutdown(BaseTestCase):
output
=
"end of worker thread
\
n
end of main thread
\
n
"
self
.
assertScriptHasOutput
(
script
,
output
)
@
unittest
.
skipIf
(
sys
.
platform
in
platforms_to_skip
,
"due to known OS bug"
)
def
test_6_daemon_threads
(
self
):
# Check that a daemon thread cannot crash the interpreter on shutdown
# by manipulating internal structures that are being disposed of in
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment