Mercurial > hg
view doc/runrst @ 46240:a42502e9ae6d
worker: POSIX only supports workers from main thread (issue6460)
The POSIX backend sets signal handlers for SIGINT (maybe avoidable) and
SIGCHLD (necessary for waitpid). Python up to 3.9 only allow this from
the main thread, so disable the worker feature otherwise.
Differential Revision: https://phab.mercurial-scm.org/D9660
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Mon, 28 Dec 2020 01:05:09 +0100 |
parents | c102b704edb5 |
children | d4ba4d51f85f |
line wrap: on
line source
#!/usr/bin/env python3 # # runrst - register custom roles and run correct writer # # Copyright 2010 Matt Mackall <mpm@selenic.com> and others # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. """usage: %s WRITER args... where WRITER is the name of a Docutils writer such as 'html' or 'manpage' """ from __future__ import absolute_import import sys try: import docutils.core as core import docutils.nodes as nodes import docutils.utils as utils import docutils.parsers.rst.roles as roles except ImportError: sys.stderr.write( "abort: couldn't generate documentation: docutils " "module is missing\n" ) sys.stderr.write( "please install python-docutils or see " "http://docutils.sourceforge.net/\n" ) sys.exit(-1) def role_hg(name, rawtext, text, lineno, inliner, options=None, content=None): text = "hg " + utils.unescape(text) linktext = nodes.literal(rawtext, text) parts = text.split() cmd, args = parts[1], parts[2:] refuri = "hg.1.html#%s" % cmd if cmd == 'help' and args: if args[0] == 'config': # :hg:`help config` refuri = "hgrc.5.html" elif args[0].startswith('config.'): # :hg:`help config.SECTION...` refuri = "hgrc.5.html#%s" % args[0].split('.', 2)[1] elif len(args) >= 2 and args[0] == '-c': # :hg:`help -c COMMAND ...` is equivalent to :hg:`COMMAND` # (mainly for :hg:`help -c config`) refuri = "hg.1.html#%s" % args[1] else: refuri = "hg.1.html#%s" % args[0] node = nodes.reference(rawtext, '', linktext, refuri=refuri) return [node], [] roles.register_local_role("hg", role_hg) if __name__ == "__main__": if len(sys.argv) < 2: sys.stderr.write(__doc__ % sys.argv[0]) sys.exit(1) writer = sys.argv[1] del sys.argv[1] core.publish_cmdline(writer_name=writer)