summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshimizukawa <shimizukawa@gmail.com>2014-04-29 22:43:58 +0900
committershimizukawa <shimizukawa@gmail.com>2014-04-29 22:43:58 +0900
commit7ffd869ddc9a0b14a441ea31f52347a71e876e20 (patch)
treec9db81b469bd7befff1d753406b1292e5d0506fe
parent3cc9b03a3623011250b3cf31a7981dd1180f47e6 (diff)
downloadsphinx-7ffd869ddc9a0b14a441ea31f52347a71e876e20.tar.gz
wrap iterator with list() to avoid 'dictionary changed size during iteration' on py3. refs #1350.
-rw-r--r--sphinx/domains/c.py4
-rw-r--r--sphinx/domains/javascript.py4
-rw-r--r--sphinx/domains/python.py4
-rw-r--r--sphinx/domains/rst.py2
-rw-r--r--sphinx/domains/std.py8
-rw-r--r--sphinx/environment.py6
-rw-r--r--sphinx/pycode/pgen2/pgen.py4
-rwxr-xr-xsphinx/pycode/pgen2/token.py2
-rw-r--r--sphinx/util/__init__.py2
9 files changed, 18 insertions, 18 deletions
diff --git a/sphinx/domains/c.py b/sphinx/domains/c.py
index 018ec248..0ac1b7ab 100644
--- a/sphinx/domains/c.py
+++ b/sphinx/domains/c.py
@@ -235,7 +235,7 @@ class CDomain(Domain):
}
def clear_doc(self, docname):
- for fullname, (fn, _) in self.data['objects'].items():
+ for fullname, (fn, _) in list(self.data['objects'].items()):
if fn == docname:
del self.data['objects'][fullname]
@@ -250,5 +250,5 @@ class CDomain(Domain):
contnode, target)
def get_objects(self):
- for refname, (docname, type) in iteritems(self.data['objects']):
+ for refname, (docname, type) in list(self.data['objects'].items()):
yield (refname, refname, type, docname, 'c.' + refname, 1)
diff --git a/sphinx/domains/javascript.py b/sphinx/domains/javascript.py
index 1f0ea1b5..8cc49b09 100644
--- a/sphinx/domains/javascript.py
+++ b/sphinx/domains/javascript.py
@@ -185,7 +185,7 @@ class JavaScriptDomain(Domain):
}
def clear_doc(self, docname):
- for fullname, (fn, _) in self.data['objects'].items():
+ for fullname, (fn, _) in list(self.data['objects'].items()):
if fn == docname:
del self.data['objects'][fullname]
@@ -217,6 +217,6 @@ class JavaScriptDomain(Domain):
name.replace('$', '_S_'), contnode, name)
def get_objects(self):
- for refname, (docname, type) in iteritems(self.data['objects']):
+ for refname, (docname, type) in list(self.data['objects'].items()):
yield refname, refname, type, docname, \
refname.replace('$', '_S_'), 1
diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py
index 30ed4b8a..1780b4a1 100644
--- a/sphinx/domains/python.py
+++ b/sphinx/domains/python.py
@@ -620,10 +620,10 @@ class PythonDomain(Domain):
]
def clear_doc(self, docname):
- for fullname, (fn, _) in self.data['objects'].items():
+ for fullname, (fn, _) in list(self.data['objects'].items()):
if fn == docname:
del self.data['objects'][fullname]
- for modname, (fn, _, _, _) in self.data['modules'].items():
+ for modname, (fn, _, _, _) in list(self.data['modules'].items()):
if fn == docname:
del self.data['modules'][modname]
diff --git a/sphinx/domains/rst.py b/sphinx/domains/rst.py
index 9e471494..e213211a 100644
--- a/sphinx/domains/rst.py
+++ b/sphinx/domains/rst.py
@@ -119,7 +119,7 @@ class ReSTDomain(Domain):
}
def clear_doc(self, docname):
- for (typ, name), doc in self.data['objects'].items():
+ for (typ, name), doc in list(self.data['objects'].items()):
if doc == docname:
del self.data['objects'][typ, name]
diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py
index 8339dbdb..f4e22b4b 100644
--- a/sphinx/domains/std.py
+++ b/sphinx/domains/std.py
@@ -509,16 +509,16 @@ class StandardDomain(Domain):
}
def clear_doc(self, docname):
- for key, (fn, _) in self.data['progoptions'].items():
+ for key, (fn, _) in list(self.data['progoptions'].items()):
if fn == docname:
del self.data['progoptions'][key]
- for key, (fn, _) in self.data['objects'].items():
+ for key, (fn, _) in list(self.data['objects'].items()):
if fn == docname:
del self.data['objects'][key]
- for key, (fn, _, _) in self.data['labels'].items():
+ for key, (fn, _, _) in list(self.data['labels'].items()):
if fn == docname:
del self.data['labels'][key]
- for key, (fn, _) in self.data['anonlabels'].items():
+ for key, (fn, _) in list(self.data['anonlabels'].items()):
if fn == docname:
del self.data['anonlabels'][key]
diff --git a/sphinx/environment.py b/sphinx/environment.py
index 60fb795f..abf9a73a 100644
--- a/sphinx/environment.py
+++ b/sphinx/environment.py
@@ -137,7 +137,7 @@ class BuildEnvironment:
del self.domains
picklefile = open(filename, 'wb')
# remove potentially pickling-problematic values from config
- for key, val in vars(self.config).items():
+ for key, val in list(vars(self.config).items()):
if key.startswith('_') or \
isinstance(val, types.ModuleType) or \
isinstance(val, types.FunctionType) or \
@@ -279,11 +279,11 @@ class BuildEnvironment:
self.images.purge_doc(docname)
self.dlfiles.purge_doc(docname)
- for subfn, fnset in self.files_to_rebuild.items():
+ for subfn, fnset in list(self.files_to_rebuild.items()):
fnset.discard(docname)
if not fnset:
del self.files_to_rebuild[subfn]
- for key, (fn, _) in self.citations.items():
+ for key, (fn, _) in list(self.citations.items()):
if fn == docname:
del self.citations[key]
for version, changes in self.versionchanges.items():
diff --git a/sphinx/pycode/pgen2/pgen.py b/sphinx/pycode/pgen2/pgen.py
index 20dcbe42..3ecb60fa 100644
--- a/sphinx/pycode/pgen2/pgen.py
+++ b/sphinx/pycode/pgen2/pgen.py
@@ -31,7 +31,7 @@ class ParserGenerator(object):
def make_grammar(self):
c = PgenGrammar()
- names = self.dfas.keys()
+ names = list(self.dfas.keys())
names.sort()
names.remove(self.startsymbol)
names.insert(0, self.startsymbol)
@@ -110,7 +110,7 @@ class ParserGenerator(object):
return ilabel
def addfirstsets(self):
- names = self.dfas.keys()
+ names = list(self.dfas.keys())
names.sort()
for name in names:
if name not in self.first:
diff --git a/sphinx/pycode/pgen2/token.py b/sphinx/pycode/pgen2/token.py
index 56a40ce7..55bf5e8d 100755
--- a/sphinx/pycode/pgen2/token.py
+++ b/sphinx/pycode/pgen2/token.py
@@ -68,7 +68,7 @@ NT_OFFSET = 256
#--end constants--
tok_name = {}
-for _name, _value in globals().items():
+for _name, _value in list(globals().items()):
if type(_value) is type(0):
tok_name[_value] = _name
diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py
index 3fe2b1bd..27278b08 100644
--- a/sphinx/util/__init__.py
+++ b/sphinx/util/__init__.py
@@ -123,7 +123,7 @@ class FilenameUniqDict(dict):
return uniquename
def purge_doc(self, docname):
- for filename, (docs, unique) in self.items():
+ for filename, (docs, unique) in list(self.items()):
docs.discard(docname)
if not docs:
del self[filename]