Georg Brandl avatar Georg Brandl committed 2388b1f Merge

Merge stable into default.

Comments (0)

Files changed (18)

 f7f069b6d1e5cc2d4394420be9a4a3efc0cb4d47 1.0.7
 61cb589edeba5800c2bb9a4159c5986451d90a08 1.0.8
 0a63129ab59bf013068ea9da3382e567ed5400c3 1.1
+e753d03451a6eddc1ad3876bd383a12c50aa4cf2 1.1.1
 ============================
 
 
+Release 1.1.1 (Nov 1, 2011)
+===========================
+
+* #791: Fix QtHelp, DevHelp and HtmlHelp index entry links.
+
+* #792: Include "sphinx-apidoc" in the source distribution.
+
+* #797: Don't crash on a misformatted glossary.
+
+* #801: Make intersphinx work properly without SSL support.
+
+* #805: Make the ``Sphinx.add_index_to_domain`` method work correctly.
+
+* #780: Fix Python 2.5 compatibility.
+
+
 Release 1.1 (Oct 9, 2011)
 =========================
 
   - #714: Added Korean locale.
   - #766: Added Estonian locale.
 
-
-Release 1.0.9 (in development)
-==============================
-
-* #778: Fix "hide search matches" link on pages linked by search.
-
-* Fix the source positions referenced by the "viewcode" extension.
+* Bugs fixed:
+
+  - #778: Fix "hide search matches" link on pages linked by search.
+  - Fix the source positions referenced by the "viewcode" extension.
 
 
 Release 1.0.8 (Sep 23, 2011)
 include sphinx-autogen.py
 include sphinx-build.py
 include sphinx-quickstart.py
+include sphinx-apidoc.py
 
 recursive-include sphinx/texinputs *
 recursive-include sphinx/themes *

doc/ext/appapi.rst

      <http://docutils.sourceforge.net/docs/howto/rst-directives.html>`_ for
      details.
 
-     The directive class normally must inherit from the class
-     ``docutils.parsers.rst.Directive``.  When writing a directive for usage in
-     a Sphinx extension, you inherit from ``sphinx.util.compat.Directive``
-     instead which does the right thing even on docutils 0.4 (which doesn't
-     support directive classes otherwise).
+     The directive class must inherit from the class
+     ``docutils.parsers.rst.Directive``.
 
    For example, the (already existing) :rst:dir:`literalinclude` directive would be
    added like this:
 -------------
 
 Sphinx needs at least **Python 2.4** or **Python 3.1** to run, as well as the
-docutils_ and Jinja2_ libraries.  Sphinx should work with docutils version 0.5
+docutils_ and Jinja2_ libraries.  Sphinx should work with docutils version 0.7
 or some (not broken) SVN trunk snapshot.  If you like to have source code
 highlighting support, you must also install the Pygments_ library.
 

File contents unchanged.

     creates a modules index (named modules.<suffix>).
 
     This is derived from the "sphinx-autopackage" script, which is:
-    Copyright 2008 Société des arts technologiques (SAT), http://www.sat.qc.ca/
+    Copyright 2008 Société des arts technologiques (SAT),
+    http://www.sat.qc.ca/
 
     :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
     :license: BSD, see LICENSE for details.

sphinx/application.py

             raise ExtensionError('domain %s not yet registered' % domain)
         self.domains[domain].roles[name] = role
 
-    def add_index_to_domain(self, domain, name, localname, shortname, func):
+    def add_index_to_domain(self, domain, index):
         if domain not in self.domains:
             raise ExtensionError('domain %s not yet registered' % domain)
-        self.domains[domain].indices.append((name, localname, shortname))
-        setattr(self.domains[domain], 'get_%s_index' % name, func)
+        self.domains[domain].indices.append(index)
 
     def add_object_type(self, directivename, rolename, indextemplate='',
                         parse_node=None, ref_nodeclass=None, objname='',

sphinx/builders/devhelp.py

                 pass
             elif len(refs) == 1:
                 etree.SubElement(functions, 'function',
-                                 name=title, link=refs[0])
+                                 name=title, link=refs[0][1])
             else:
                 for i, ref in enumerate(refs):
                     etree.SubElement(functions, 'function',
                                      name="[%d] %s" % (i, title),
-                                     link=ref)
+                                     link=ref[1])
 
             if subitems:
                 parent_title = re.sub(r'\s*\(.*\)\s*$', '', title)

sphinx/builders/htmlhelp.py

             f.write('<UL>\n')
             def write_index(title, refs, subitems):
                 def write_param(name, value):
-                    item = '    <param name="%s" value="%s">\n' % (name, value)
+                    item = '    <param name="%s" value="%s">\n' % \
+                        (name, value[1])
                     f.write(item)
                 title = cgi.escape(title)
                 f.write('<LI> <OBJECT type="text/sitemap">\n')

sphinx/builders/qthelp.py

             groupdict = matchobj.groupdict()
             shortname = groupdict['title']
             id = groupdict.get('id')
-#            descr = groupdict.get('descr')
+            #descr = groupdict.get('descr')
             if shortname.endswith('()'):
                 shortname = shortname[:-2]
             id = '%s.%s' % (id, shortname)
 
         if id:
             item = ' '*12 + '<keyword name="%s" id="%s" ref="%s"/>' % (
-                                                                name, id, ref)
+                name, id, ref[1])
         else:
-            item = ' '*12 + '<keyword name="%s" ref="%s"/>' % (name, ref)
+            item = ' '*12 + '<keyword name="%s" ref="%s"/>' % (name, ref[1])
         item.encode('ascii', 'xmlcharrefreplace')
         return item
 

sphinx/domains/std.py

                         messages.append(self.state.reporter.system_message(
                             2, 'glossary terms must not be separated by empty '
                             'lines', source=source, line=lineno))
-                    entries[-1][0].append((line, source, lineno))
+                    if entries:
+                        entries[-1][0].append((line, source, lineno))
+                    else:
+                        messages.append(self.state.reporter.system_message(
+                            2, 'glossary seems to be misformatted, check '
+                        'indentation', source=source, line=lineno))
             else:
                 if not in_definition:
                     # first line of definition, determines indentation
                     in_definition = True
                     indent_len = len(line) - len(line.lstrip())
-                entries[-1][1].append(line[indent_len:], source, lineno)
+                if entries:
+                    entries[-1][1].append(line[indent_len:], source, lineno)
+                else:
+                    messages.append(self.state.reporter.system_message(
+                        2, 'glossary seems to be misformatted, check '
+                    'indentation', source=source, line=lineno))
             was_empty = False
 
         # now, parse all the entries into a big definition list

sphinx/environment.py

         settings, source = self.document.settings, self.document['source']
         # XXX check if this is reliable
         assert source.startswith(env.srcdir)
-        docname = path.splitext(relative_path(source, env.srcdir))[0]
+        docname = path.splitext(relative_path(env.srcdir, source))[0]
         textdomain = find_catalog(docname,
                                   self.document.settings.gettext_compact)
 

sphinx/ext/autosummary/generate.py

 from jinja2 import FileSystemLoader, TemplateNotFound
 from jinja2.sandbox import SandboxedEnvironment
 
+from sphinx import package_dir
 from sphinx.ext.autosummary import import_by_name, get_documenter
 from sphinx.jinja2glue import BuiltinTemplateLoader
 from sphinx.util.osutil import ensuredir
         sources = [os.path.join(base_path, filename) for filename in sources]
 
     # create our own templating environment
-    template_dirs = [os.path.join(os.path.dirname(__file__), 'templates')]
+    template_dirs = [os.path.join(package_dir, 'ext',
+                                  'autosummary', 'templates')]
     if builder is not None:
         # allow the user to override the templates
         template_loader = BuiltinTemplateLoader()

sphinx/ext/intersphinx.py

             urllib2.HTTPHandler()]
 try:
     handlers.append(urllib2.HTTPSHandler)
-except NameError:
+except AttributeError:
     pass
 
 urllib2.install_opener(urllib2.build_opener(*handlers))

sphinx/pycode/__init__.py

 
 from os import path
 
+from sphinx import package_dir
 from sphinx.errors import PycodeError
 from sphinx.pycode import nodes
 from sphinx.pycode.pgen2 import driver, token, tokenize, parse, literals
 
 
 # load the Python grammar
-_grammarfile = path.join(path.dirname(__file__), 'Grammar.txt')
+_grammarfile = path.join(package_dir, 'pycode', 'Grammar.txt')
 pygrammar = driver.load_grammar(_grammarfile)
 pydriver = driver.Driver(pygrammar, convert=nodes.convert)
 

sphinx/quickstart.py

 # (source start file, target name, title, author,
 #  dir menu entry, description, category)
 texinfo_documents = [
-  ('%(master_str)s', '%(project_fn)s', u'%(project_doc_str)s', u'%(author_str)s',
-   '%(project_fn)s', 'One line description of project.', 'Miscellaneous'),
+  ('%(master_str)s', '%(project_fn)s', u'%(project_doc_str)s',
+   u'%(author_str)s', '%(project_fn)s', 'One line description of project.',
+   'Miscellaneous'),
 ]
 
 # Documents to append as an appendix to all manuals.

sphinx/websupport/__init__.py

 
     def _init_templating(self):
         import sphinx
-        template_path = path.join(path.dirname(sphinx.__file__),
+        template_path = path.join(sphinx.package_dir,
                                   'themes', 'basic')
         loader = FileSystemLoader(template_path)
         self.template_env = Environment(loader=loader)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.