Compare commits

...

2 Commits

  1. 1
      docs/markdown/Reference-tables.md
  2. 22
      mesonbuild/modules/hotdoc.py

@ -97,6 +97,7 @@ These are provided by the `.system()` method call.
| haiku | |
| linux | |
| netbsd | |
| openbsd | |
| windows | Any version of Windows |
| sunos | illumos and Solaris |

@ -81,12 +81,28 @@ class HotdocTargetBuilder:
elif isinstance(value, list):
# Do not do anything on empty lists
if value:
# https://bugs.python.org/issue9334 (from 2010 :( )
# The syntax with nargs=+ is inherently ambiguous
# A workaround for this case is to simply prefix with a space
# every value starting with a dash
escaped_value = []
for e in value:
if isinstance(e, str) and e.startswith('-'):
escaped_value += [' %s' % e]
else:
escaped_value += [e]
if option:
self.cmd.extend([option] + value)
self.cmd.extend([option] + escaped_value)
else:
self.cmd.extend(value)
self.cmd.extend(escaped_value)
else:
self.cmd.extend([option, value])
# argparse gets confused if value(s) start with a dash.
# When an option expects a single value, the unambiguous way
# to specify it is with =
if isinstance(value, str):
self.cmd.extend(['%s=%s' % (option, value)])
else:
self.cmd.extend([option, value])
def check_extra_arg_type(self, arg, value):
value = getattr(value, 'held_object', value)

Loading…
Cancel
Save