summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgtags3
-rw-r--r--.travis.yml3
-rw-r--r--AUTHORS.txt3
-rw-r--r--CHANGES.rst329
-rw-r--r--Makefile8
-rw-r--r--NOTICE.txt2
-rw-r--r--README.rst4
-rw-r--r--appveyor.yml8
-rw-r--r--coverage/backward.py25
-rw-r--r--coverage/bytecode.py65
-rw-r--r--coverage/cmdline.py32
-rw-r--r--coverage/ctracer/datastack.c2
-rw-r--r--coverage/ctracer/tracer.c32
-rw-r--r--coverage/ctracer/util.h46
-rw-r--r--coverage/debug.py12
-rw-r--r--coverage/monkey.py70
-rw-r--r--coverage/parser.py960
-rw-r--r--coverage/phystokens.py7
-rw-r--r--coverage/python.py13
-rw-r--r--coverage/summary.py18
-rw-r--r--coverage/test_helpers.py65
-rw-r--r--coverage/version.py3
-rw-r--r--coverage/xmlreport.py38
-rw-r--r--doc/branch.rst4
-rw-r--r--doc/changes.rst174
-rw-r--r--doc/cmd.rst5
-rw-r--r--doc/conf.py6
-rw-r--r--doc/config.rst3
-rw-r--r--doc/howitworks.rst9
-rw-r--r--doc/index.rst23
-rw-r--r--doc/requirements.pip2
-rw-r--r--doc/sample_html/cogapp___init___py.html4
-rw-r--r--doc/sample_html/cogapp___main___py.html4
-rw-r--r--doc/sample_html/cogapp_backward_py.html4
-rw-r--r--doc/sample_html/cogapp_cogapp_py.html878
-rw-r--r--doc/sample_html/cogapp_makefiles_py.html66
-rw-r--r--doc/sample_html/cogapp_test_cogapp_py.html1958
-rw-r--r--doc/sample_html/cogapp_test_makefiles_py.html4
-rw-r--r--doc/sample_html/cogapp_test_whiteutils_py.html4
-rw-r--r--doc/sample_html/cogapp_whiteutils_py.html4
-rw-r--r--doc/sample_html/index.html30
-rw-r--r--doc/sample_html/status.json2
-rw-r--r--howto.txt18
-rw-r--r--igor.py7
-rw-r--r--lab/branches.py2
-rw-r--r--lab/disgen.py6
-rw-r--r--lab/new-data.js21
-rw-r--r--lab/parser.py158
-rw-r--r--pylintrc6
-rw-r--r--requirements/dev.pip8
-rw-r--r--requirements/tox.pip2
-rw-r--r--requirements/wheel.pip2
-rw-r--r--tests/coveragetest.py87
-rw-r--r--tests/test_api.py23
-rw-r--r--tests/test_arcs.py723
-rw-r--r--tests/test_backward.py3
-rw-r--r--tests/test_concurrency.py37
-rw-r--r--tests/test_config.py7
-rw-r--r--tests/test_coverage.py196
-rw-r--r--tests/test_parser.py64
-rw-r--r--tests/test_phystokens.py52
-rw-r--r--tests/test_plugins.py2
-rw-r--r--tests/test_process.py11
-rw-r--r--tests/test_summary.py39
-rw-r--r--tests/test_testing.py43
-rw-r--r--tests/test_xml.py59
-rw-r--r--tox.ini15
-rw-r--r--tox_wheels.ini6
68 files changed, 3978 insertions, 2551 deletions
diff --git a/.hgtags b/.hgtags
index 61a3021a..32286c53 100644
--- a/.hgtags
+++ b/.hgtags
@@ -48,3 +48,6 @@ eec8e928880df1beafdf7d4bea87f784375b35d7 coverage-4.0a3
3c3e507a247eb35251083b9528a99e50831c960f coverage-4.0
8e727dc12de10fb8a302b04a8f2af3e00587889e coverage-4.0.1
7428dab9307da4660878436fe71b696ca2048cf2 coverage-4.0.2
+5ab728b8fd55bd78352012a15a6541fa73dd9e2c coverage-4.0.3
+166fbccc94fb32e52a18508c5422ddae5d5184b9 coverage-4.1b1
+05377ccfe33a83068962a9010037db2d3ebdfa1a coverage-4.1b2
diff --git a/.travis.yml b/.travis.yml
index 97679e15..f3c93a55 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -13,9 +13,12 @@ env:
- TOXENV=py27
- TOXENV=py33
- TOXENV=py34
+ - TOXENV=py35
- TOXENV=pypy
- TOXENV=py27 COVERAGE_COVERAGE=yes
+sudo: false
+
install:
- pip install -r requirements/tox.pip
diff --git a/AUTHORS.txt b/AUTHORS.txt
index 7f6bbf9f..83ee3710 100644
--- a/AUTHORS.txt
+++ b/AUTHORS.txt
@@ -7,6 +7,7 @@ Adi Roiban
Alex Gaynor
Alexander Todorov
Anthony Sottile
+Arcadiy Ivanov
Ben Finney
Bill Hart
Brandon Rhodes
@@ -49,11 +50,13 @@ Marcus Cobden
Mark van der Wal
Martin Fuzzey
Matthew Desmarais
+Max Linke
Mickie Betz
Noel O'Boyle
Pablo Carballo
Patrick Mezard
Peter Portante
+Rodrigue Cloutier
Roger Hu
Ross Lawley
Sandra Martocchia
diff --git a/CHANGES.rst b/CHANGES.rst
index 082fda6d..709e1395 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -6,8 +6,121 @@ Change history for Coverage.py
==============================
-Version 4.0.2 --- 4 November 2015
----------------------------------
+Unreleased
+----------
+
+- When running your program, execution can jump from an ``except X:`` line to
+ some other line when an exception other than ``X`` happens. This jump is no
+ longer considered a branch when measuring branch coverage.
+
+
+Version 4.1b2 --- 2016-01-23
+----------------------------
+
+- Problems with the new branch measurement in 4.1 beta 1 were fixed:
+
+ - Class docstrings were considered executable. Now they no longer are.
+
+ - ``yield from`` and ``await`` were considered returns from functions, since
+ they could tranfer control to the caller. This produced unhelpful "missing
+ branch" reports in a number of circumstances. Now they no longer are
+ considered returns.
+
+ - In unusual situations, a missing branch to a negative number was reported.
+ This has been fixed, closing `issue 466`_.
+
+- The XML report now produces correct package names for modules found in
+ directories specified with ``source=``. Fixes `issue 465`_.
+
+- ``coverage report`` won't produce trailing whitespace.
+
+.. _issue 465: https://bitbucket.org/ned/coveragepy/issues/465/coveragexml-produces-package-names-with-an
+.. _issue 466: https://bitbucket.org/ned/coveragepy/issues/466/impossible-missed-branch-to-a-negative
+
+
+Version 4.1b1 --- 2016-01-10
+----------------------------
+
+- Branch analysis has been rewritten: it used to be based on bytecode, but now
+ uses AST analysis. This has changed a number of things:
+
+ - More code paths are now considered runnable, especially in
+ ``try``/``except`` structures. This may mean that coverage.py will
+ identify more code paths as uncovered. This could either raise or lower
+ your overall coverage number.
+
+ - Python 3.5's ``async`` and ``await`` keywords are properly supported,
+ fixing `issue 434`_.
+
+ - Some long-standing branch coverage bugs were fixed:
+
+ - `issue 129`_: functions with only a docstring for a body would
+ incorrectly report a missing branch on the ``def`` line.
+
+ - `issue 212`_: code in an ``except`` block could be incorrectly marked as
+ a missing branch.
+
+ - `issue 146`_: context managers (``with`` statements) in a loop or ``try``
+ block could confuse the branch measurement, reporting incorrect partial
+ branches.
+
+ - `issue 422`_: in Python 3.5, an actual partial branch could be marked as
+ complete.
+
+- Pragmas to disable coverage measurement can now be used on decorator lines,
+ and they will apply to the entire function or class being decorated. This
+ implements the feature requested in `issue 131`_.
+
+- Multiprocessing support is now available on Windows. Thanks, Rodrigue
+ Cloutier.
+
+- Files with two encoding declarations are properly supported, fixing
+ `issue 453`_. Thanks, Max Linke.
+
+- Non-ascii characters in regexes in the configuration file worked in 3.7, but
+ stopped working in 4.0. Now they work again, closing `issue 455`_.
+
+- Form-feed characters would prevent accurate determination of the beginning of
+ statements in the rest of the file. This is now fixed, closing `issue 461`_.
+
+.. _issue 129: https://bitbucket.org/ned/coveragepy/issues/129/misleading-branch-coverage-of-empty
+.. _issue 131: https://bitbucket.org/ned/coveragepy/issues/131/pragma-on-a-decorator-line-should-affect
+.. _issue 146: https://bitbucket.org/ned/coveragepy/issues/146/context-managers-confuse-branch-coverage
+.. _issue 212: https://bitbucket.org/ned/coveragepy/issues/212/coverage-erroneously-reports-partial
+.. _issue 422: https://bitbucket.org/ned/coveragepy/issues/422/python35-partial-branch-marked-as-fully
+.. _issue 434: https://bitbucket.org/ned/coveragepy/issues/434/indexerror-in-python-35
+.. _issue 453: https://bitbucket.org/ned/coveragepy/issues/453/source-code-encoding-can-only-be-specified
+.. _issue 455: https://bitbucket.org/ned/coveragepy/issues/455/unusual-exclusions-stopped-working-in
+.. _issue 461: https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma
+
+
+Version 4.0.3 --- 2015-11-24
+----------------------------
+
+- Fixed a mysterious problem that manifested in different ways: sometimes
+ hanging the process (`issue 420`_), sometimes making database connections
+ fail (`issue 445`_).
+
+- The XML report now has correct ``<source>`` elements when using a
+ ``--source=`` option somewhere besides the current directory. This fixes
+ `issue 439`_. Thanks, Arcady Ivanov.
+
+- Fixed an unusual edge case of detecting source encodings, described in
+ `issue 443`_.
+
+- Help messages that mention the command to use now properly use the actual
+ command name, which might be different than "coverage". Thanks to Ben
+ Finney, this closes `issue 438`_.
+
+.. _issue 420: https://bitbucket.org/ned/coveragepy/issues/420/coverage-40-hangs-indefinitely-on-python27
+.. _issue 438: https://bitbucket.org/ned/coveragepy/issues/438/parameterise-coverage-command-name
+.. _issue 439: https://bitbucket.org/ned/coveragepy/issues/439/incorrect-cobertura-file-sources-generated
+.. _issue 443: https://bitbucket.org/ned/coveragepy/issues/443/coverage-gets-confused-when-encoding
+.. _issue 445: https://bitbucket.org/ned/coveragepy/issues/445/django-app-cannot-connect-to-cassandra
+
+
+Version 4.0.2 --- 2015-11-04
+----------------------------
- More work on supporting unusually encoded source. Fixed `issue 431`_.
@@ -25,8 +138,8 @@ Version 4.0.2 --- 4 November 2015
.. _issue 436: https://bitbucket.org/ned/coveragepy/issues/436/disabled-coverage-ctracer-may-rise-from
-Version 4.0.1 --- 13 October 2015
----------------------------------
+Version 4.0.1 --- 2015-10-13
+----------------------------
- When combining data files, unreadable files will now generate a warning
instead of failing the command. This is more in line with the older
@@ -71,14 +184,14 @@ Version 4.0.1 --- 13 October 2015
.. _issue 423: https://bitbucket.org/ned/coveragepy/issues/423/skip_covered-changes-reported-total
-Version 4.0 --- 20 September 2015
----------------------------------
+Version 4.0 --- 2015-09-20
+--------------------------
No changes from 4.0b3
-Version 4.0b3 --- 7 September 2015
-----------------------------------
+Version 4.0b3 --- 2015-09-07
+----------------------------
- Reporting on an unmeasured file would fail with a traceback. This is now
fixed, closing `issue 403`_.
@@ -98,10 +211,10 @@ Version 4.0b3 --- 7 September 2015
-Version 4.0b2 --- 22 August 2015
---------------------------------
+Version 4.0b2 --- 2015-08-22
+----------------------------
-- 4.0b1 broke --append creating new data files. This is now fixed, closing
+- 4.0b1 broke ``--append`` creating new data files. This is now fixed, closing
`issue 392`_.
- ``py.test --cov`` can write empty data, then touch files due to ``--source``,
@@ -131,8 +244,8 @@ Version 4.0b2 --- 22 August 2015
.. _sys.version_info: https://docs.python.org/3/library/sys.html#sys.version_info
-Version 4.0b1 --- 2 August 2015
--------------------------------
+Version 4.0b1 --- 2015-08-02
+----------------------------
- Coverage.py is now licensed under the Apache 2.0 license. See NOTICE.txt for
details. Closes `issue 313`_.
@@ -210,8 +323,8 @@ Version 4.0b1 --- 2 August 2015
.. 40 issues closed in 4.0 below here
-Version 4.0a6 --- 21 June 2015
-------------------------------
+Version 4.0a6 --- 2015-06-21
+----------------------------
- Python 3.5b2 and PyPy 2.6.0 are supported.
@@ -271,8 +384,8 @@ Version 4.0a6 --- 21 June 2015
.. _issue 375: https://bitbucket.org/ned/coveragepy/issue/375/ctracer_handle_return-reads-byte-code
-Version 4.0a5 --- 16 February 2015
-----------------------------------
+Version 4.0a5 --- 2015-02-16
+----------------------------
- Plugin support is now implemented in the C tracer instead of the Python
tracer. This greatly improves the speed of tracing projects using plugins.
@@ -305,8 +418,8 @@ Version 4.0a5 --- 16 February 2015
.. _issue 358: https://bitbucket.org/ned/coveragepy/issue/358/all-coverage-commands-should-adjust
-Version 4.0a4 --- 25 January 2015
----------------------------------
+Version 4.0a4 --- 2015-01-25
+----------------------------
- Plugins can now provide sys_info for debugging output.
@@ -315,8 +428,8 @@ Version 4.0a4 --- 25 January 2015
- Prepared to move the docs to readthedocs.org.
-Version 4.0a3 --- 20 January 2015
----------------------------------
+Version 4.0a3 --- 2015-01-20
+----------------------------
- Reports now use file names with extensions. Previously, a report would
describe a/b/c.py as "a/b/c". Now it is shown as "a/b/c.py". This allows
@@ -349,8 +462,8 @@ Version 4.0a3 --- 20 January 2015
.. _issue 349: https://bitbucket.org/ned/coveragepy/issue/349/bad-regex-in-config-should-get-an-earlier
-Version 4.0a2 --- 14 January 2015
----------------------------------
+Version 4.0a2 --- 2015-01-14
+----------------------------
- Officially support PyPy 2.4, and PyPy3 2.4. Drop support for
CPython 3.2 and older versions of PyPy. The code won't work on CPython 3.2.
@@ -417,8 +530,8 @@ Version 4.0a2 --- 14 January 2015
.. _issue 343: https://bitbucket.org/ned/coveragepy/issue/343/an-explicitly-named-non-existent-config
-Version 4.0a1 --- 27 September 2014
------------------------------------
+Version 4.0a1 --- 2014-09-27
+----------------------------
- Python versions supported are now CPython 2.6, 2.7, 3.2, 3.3, and 3.4, and
PyPy 2.2.
@@ -471,8 +584,8 @@ Version 4.0a1 --- 27 September 2014
.. _issue 331: https://bitbucket.org/ned/coveragepy/issue/331/failure-of-encoding-detection-on-python2
-Version 3.7.1 --- 13 December 2013
-----------------------------------
+Version 3.7.1 --- 2013-12-13
+----------------------------
- Improved the speed of HTML report generation by about 20%.
@@ -480,8 +593,8 @@ Version 3.7.1 --- 13 December 2013
so that it will actually find OS-installed static files.
-Version 3.7 --- 6 October 2013
-------------------------------
+Version 3.7 --- 2013-10-06
+--------------------------
- Added the ``--debug`` switch to ``coverage run``. It accepts a list of
options indicating the type of internal activity to log to stderr.
@@ -537,8 +650,8 @@ Version 3.7 --- 6 October 2013
.. _issue 267: https://bitbucket.org/ned/coveragepy/issue/267/relative-path-aliases-dont-work
-Version 3.6 --- 5 January 2013
-------------------------------
+Version 3.6 --- 2013-01-05
+--------------------------
- Added a page to the docs about troublesome situations, closing `issue 226`_,
and added some info to the TODO file, closing `issue 227`_.
@@ -547,16 +660,16 @@ Version 3.6 --- 5 January 2013
.. _issue 227: https://bitbucket.org/ned/coveragepy/issue/227/update-todo
-Version 3.6b3 --- 29 December 2012
-----------------------------------
+Version 3.6b3 --- 2012-12-29
+----------------------------
- Beta 2 broke the nose plugin. It's fixed again, closing `issue 224`_.
.. _issue 224: https://bitbucket.org/ned/coveragepy/issue/224/36b2-breaks-nosexcover
-Version 3.6b2 --- 23 December 2012
-----------------------------------
+Version 3.6b2 --- 2012-12-23
+----------------------------
- Coverage.py runs on Python 2.3 and 2.4 again. It was broken in 3.6b1.
@@ -575,8 +688,8 @@ Version 3.6b2 --- 23 December 2012
.. _issue 221: https://bitbucket.org/ned/coveragepy/issue/221/coveragepy-incompatible-with-pyratemp
-Version 3.6b1 --- 28 November 2012
-----------------------------------
+Version 3.6b1 --- 2012-11-28
+----------------------------
- Wildcards in ``include=`` and ``omit=`` arguments were not handled properly
in reporting functions, though they were when running. Now they are handled
@@ -689,8 +802,8 @@ Version 3.6b1 --- 28 November 2012
.. _issue 214: https://bitbucket.org/ned/coveragepy/issue/214/coveragepy-measures-itself-on-precise
-Version 3.5.3 --- 29 September 2012
------------------------------------
+Version 3.5.3 --- 2012-09-29
+----------------------------
- Line numbers in the HTML report line up better with the source lines, fixing
`issue 197`_, thanks Marius Gedminas.
@@ -728,14 +841,14 @@ Version 3.5.3 --- 29 September 2012
.. _tox: http://tox.readthedocs.org/
-Version 3.5.2 --- 4 May 2012
+Version 3.5.2 --- 2012-05-04
----------------------------
No changes since 3.5.2.b1
-Version 3.5.2b1 --- 29 April 2012
----------------------------------
+Version 3.5.2b1 --- 2012-04-29
+------------------------------
- The HTML report has slightly tweaked controls: the buttons at the top of
the page are color-coded to the source lines they affect.
@@ -778,16 +891,16 @@ Version 3.5.2b1 --- 29 April 2012
.. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-specify-show-missing-in
-Version 3.5.1 --- 23 September 2011
------------------------------------
+Version 3.5.1 --- 2011-09-23
+----------------------------
- The ``[paths]`` feature unfortunately didn't work in real world situations
where you wanted to, you know, report on the combined data. Now all paths
stored in the combined file are canonicalized properly.
-Version 3.5.1b1 --- 28 August 2011
-----------------------------------
+Version 3.5.1b1 --- 2011-08-28
+------------------------------
- When combining data files from parallel runs, you can now instruct
coverage.py about which directories are equivalent on different machines. A
@@ -825,8 +938,8 @@ Version 3.5.1b1 --- 28 August 2011
.. _issue 144: http://bitbucket.org/ned/coveragepy/issue/144/failure-generating-html-output-for
-Version 3.5 --- 29 June 2011
-----------------------------
+Version 3.5 --- 2011-06-29
+--------------------------
- The HTML report hotkeys now behave slightly differently when the current
chunk isn't visible at all: a chunk on the screen will be selected,
@@ -834,8 +947,8 @@ Version 3.5 --- 29 June 2011
The hotkeys now work in Google Chrome. Thanks, Guido van Rossum.
-Version 3.5b1 --- 5 June 2011
------------------------------
+Version 3.5b1 --- 2011-06-05
+----------------------------
- The HTML report now has hotkeys. Try ``n``, ``s``, ``m``, ``x``, ``b``,
``p``, and ``c`` on the overview page to change the column sorting.
@@ -913,8 +1026,8 @@ Version 3.5b1 --- 5 June 2011
.. _issue 125: https://bitbucket.org/ned/coveragepy/issue/125/coverage-removes-decoratortoolss-tracing
-Version 3.4 --- 19 September 2010
----------------------------------
+Version 3.4 --- 2010-09-19
+--------------------------
- The XML report is now sorted by package name, fixing `issue 88`_.
@@ -924,8 +1037,8 @@ Version 3.4 --- 19 September 2010
.. _issue 88: http://bitbucket.org/ned/coveragepy/issue/88/xml-report-lists-packages-in-random-order
-Version 3.4b2 --- 6 September 2010
-----------------------------------
+Version 3.4b2 --- 2010-09-06
+----------------------------
- Completely unexecuted files can now be included in coverage results, reported
as 0% covered. This only happens if the --source option is specified, since
@@ -954,8 +1067,8 @@ Version 3.4b2 --- 6 September 2010
.. _issue 85: http://bitbucket.org/ned/coveragepy/issue/85/threadrun-isnt-measured
-Version 3.4b1 --- 21 August 2010
---------------------------------
+Version 3.4b1 --- 2010-08-21
+----------------------------
- BACKWARD INCOMPATIBILITY: the ``--omit`` and ``--include`` switches now take
file patterns rather than file prefixes, closing `issue 34`_ and `issue 36`_.
@@ -1040,8 +1153,8 @@ Version 3.4b1 --- 21 August 2010
.. _issue 82: http://bitbucket.org/ned/coveragepy/issue/82/tokenerror-when-generating-html-report
-Version 3.3.1 --- 6 March 2010
-------------------------------
+Version 3.3.1 --- 2010-03-06
+----------------------------
- Using `parallel=True` in .coveragerc file prevented reporting, but now does
not, fixing `issue 49`_.
@@ -1053,8 +1166,8 @@ Version 3.3.1 --- 6 March 2010
.. _issue 50: http://bitbucket.org/ned/coveragepy/issue/50
-Version 3.3 --- 24 February 2010
---------------------------------
+Version 3.3 --- 2010-02-24
+--------------------------
- Settings are now read from a .coveragerc file. A specific file can be
specified on the command line with --rcfile=FILE. The name of the file can
@@ -1092,14 +1205,14 @@ Version 3.3 --- 24 February 2010
.. _issue 47: http://bitbucket.org/ned/coveragepy/issue/47
-Version 3.2 --- 5 December 2009
--------------------------------
+Version 3.2 --- 2009-12-05
+--------------------------
- Added a ``--version`` option on the command line.
-Version 3.2b4 --- 1 December 2009
----------------------------------
+Version 3.2b4 --- 2009-12-01
+----------------------------
- Branch coverage improvements:
@@ -1114,8 +1227,8 @@ Version 3.2b4 --- 1 December 2009
.. _Distribute: http://packages.python.org/distribute/
-Version 3.2b3 --- 23 November 2009
-----------------------------------
+Version 3.2b3 --- 2009-11-23
+----------------------------
- Fixed a memory leak in the C tracer that was introduced in 3.2b1.
@@ -1129,8 +1242,8 @@ Version 3.2b3 --- 23 November 2009
.. _Chris Adams: http://improbable.org/chris/
-Version 3.2b2 --- 19 November 2009
-----------------------------------
+Version 3.2b2 --- 2009-11-19
+----------------------------
- Branch coverage improvements:
@@ -1153,8 +1266,8 @@ Version 3.2b2 --- 19 November 2009
.. _issue 35: http://bitbucket.org/ned/coveragepy/issue/35
-Version 3.2b1 --- 10 November 2009
-----------------------------------
+Version 3.2b1 --- 2009-11-10
+----------------------------
- Branch coverage!
@@ -1168,8 +1281,8 @@ Version 3.2b1 --- 10 November 2009
.. _issue 23: http://bitbucket.org/ned/coveragepy/issue/23
-Version 3.1 --- 4 October 2009
-------------------------------
+Version 3.1 --- 2009-10-04
+--------------------------
- Source code can now be read from eggs. Thanks, Ross Lawley. Fixes
`issue 25`_.
@@ -1177,8 +1290,8 @@ Version 3.1 --- 4 October 2009
.. _issue 25: http://bitbucket.org/ned/coveragepy/issue/25
-Version 3.1b1 --- 27 September 2009
------------------------------------
+Version 3.1b1 --- 2009-09-27
+----------------------------
- Python 3.1 is now supported.
@@ -1210,8 +1323,8 @@ Version 3.1b1 --- 27 September 2009
.. _issue 24: http://bitbucket.org/ned/coveragepy/issue/24
-Version 3.0.1 --- 7 July 2009
------------------------------
+Version 3.0.1 --- 2009-07-07
+----------------------------
- Removed the recursion limit in the tracer function. Previously, code that
ran more than 500 frames deep would crash. Fixed `issue 9`_.
@@ -1235,8 +1348,8 @@ Version 3.0.1 --- 7 July 2009
.. _issue 8: http://bitbucket.org/ned/coveragepy/issue/8
-Version 3.0 --- 13 June 2009
-----------------------------
+Version 3.0 --- 2009-06-13
+--------------------------
- Fixed the way the Python library was ignored. Too much code was being
excluded the old way.
@@ -1249,8 +1362,8 @@ Version 3.0 --- 13 June 2009
.. _issue 6: http://bitbucket.org/ned/coveragepy/issue/6
-Version 3.0b3 --- 16 May 2009
------------------------------
+Version 3.0b3 --- 2009-05-16
+----------------------------
- Added parameters to coverage.__init__ for options that had been set on the
coverage object itself.
@@ -1270,8 +1383,8 @@ Version 3.0b3 --- 16 May 2009
interface still uses automatic saving.
-Version 3.0b --- 30 April 2009
-------------------------------
+Version 3.0b --- 2009-04-30
+---------------------------
HTML reporting, and continued refactoring.
@@ -1298,8 +1411,8 @@ HTML reporting, and continued refactoring.
- Removed the undocumented cache_file argument to coverage.usecache().
-Version 3.0b1 --- 7 March 2009
-------------------------------
+Version 3.0b1 --- 2009-03-07
+----------------------------
Major overhaul.
@@ -1323,8 +1436,8 @@ Major overhaul.
- The minimum supported Python version is 2.3.
-Version 2.85 --- 14 September 2008
-----------------------------------
+Version 2.85 --- 2008-09-14
+---------------------------
- Add support for finding source files in eggs. Don't check for
morf's being instances of ModuleType, instead use duck typing so that
@@ -1334,35 +1447,35 @@ Version 2.85 --- 14 September 2008
confuse things. Thanks, Patrick Mezard.
-Version 2.80 --- 25 May 2008
-----------------------------
+Version 2.80 --- 2008-05-25
+---------------------------
- Open files in rU mode to avoid line ending craziness. Thanks, Edward Loper.
-Version 2.78 --- 30 September 2007
-----------------------------------
+Version 2.78 --- 2007-09-30
+---------------------------
- Don't try to predict whether a file is Python source based on the extension.
Extension-less files are often Pythons scripts. Instead, simply parse the file
and catch the syntax errors. Hat tip to Ben Finney.
-Version 2.77 --- 29 July 2007
------------------------------
+Version 2.77 --- 2007-07-29
+---------------------------
- Better packaging.
-Version 2.76 --- 23 July 2007
------------------------------
+Version 2.76 --- 2007-07-23
+---------------------------
- Now Python 2.5 is *really* fully supported: the body of the new with
statement is counted as executable.
-Version 2.75 --- 22 July 2007
------------------------------
+Version 2.75 --- 2007-07-22
+---------------------------
- Python 2.5 now fully supported. The method of dealing with multi-line
statements is now less sensitive to the exact line that Python reports during
@@ -1370,8 +1483,8 @@ Version 2.75 --- 22 July 2007
during execution won't throw off the measurement.
-Version 2.7 --- 21 July 2007
-----------------------------
+Version 2.7 --- 2007-07-21
+--------------------------
- "#pragma: nocover" is excluded by default.
@@ -1394,8 +1507,8 @@ Version 2.7 --- 21 July 2007
- Minor changes to avoid lint warnings.
-Version 2.6 --- 23 August 2006
-------------------------------
+Version 2.6 --- 2006-08-23
+--------------------------
- Applied Joseph Tate's patch for function decorators.
@@ -1407,8 +1520,8 @@ Version 2.6 --- 23 August 2006
mode and collect.
-Version 2.5 --- 4 December 2005
--------------------------------
+Version 2.5 --- 2005-12-04
+--------------------------
- Call threading.settrace so that all threads are measured. Thanks Martin
Fuzzey.
@@ -1422,21 +1535,21 @@ Version 2.5 --- 4 December 2005
omitting files to report on.
-Version 2.2 --- 31 December 2004
---------------------------------
+Version 2.2 --- 2004-12-31
+--------------------------
- Allow for keyword arguments in the module global functions. Thanks, Allen.
-Version 2.1 --- 14 December 2004
---------------------------------
+Version 2.1 --- 2004-12-14
+--------------------------
- Return 'analysis' to its original behavior and add 'analysis2'. Add a global
for 'annotate', and factor it, adding 'annotate_file'.
-Version 2.0 --- 12 December 2004
---------------------------------
+Version 2.0 --- 2004-12-12
+--------------------------
Significant code changes.
diff --git a/Makefile b/Makefile
index 9c591688..e90d55df 100644
--- a/Makefile
+++ b/Makefile
@@ -61,7 +61,10 @@ kit_upload:
twine upload dist/*
kit_local:
- cp -v dist/* `awk -F "=" '/find-links/ {print $$2}' ~/.pip/pip.conf`
+ # pip.conf looks like this:
+ # [global]
+ # find-links = file:///Users/ned/Downloads/local_pypi
+ cp -v dist/* `awk -F "//" '/find-links/ {print $$2}' ~/.pip/pip.conf`
# pip caches wheels of things it has installed. Clean them out so we
# don't go crazy trying to figure out why our new code isn't installing.
find ~/Library/Caches/pip/wheels -name 'coverage-*' -delete
@@ -72,6 +75,9 @@ download_appveyor:
pypi:
python setup.py register
+build_ext:
+ python setup.py build_ext
+
install:
python setup.py install
diff --git a/NOTICE.txt b/NOTICE.txt
index ff68ab80..425fb95a 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -1,5 +1,5 @@
Copyright 2001 Gareth Rees. All rights reserved.
-Copyright 2004-2015 Ned Batchelder. All rights reserved.
+Copyright 2004-2016 Ned Batchelder. All rights reserved.
Except where noted otherwise, this software is licensed under the Apache
License, Version 2.0 (the "License"); you may not use this work except in
diff --git a/README.rst b/README.rst
index 66a8f5e9..9ab7331a 100644
--- a/README.rst
+++ b/README.rst
@@ -22,7 +22,9 @@ Documentation is on `Read the Docs <http://coverage.readthedocs.org>`_.
Code repository and issue tracker are on `Bitbucket <http://bitbucket.org/ned/coveragepy>`_,
with a mirrored repository on `GitHub <https://github.com/nedbat/coveragepy>`_.
-**New in 4.0:** ``--concurrency``, plugins for non-Python files, setup.cfg
+**New in 4.1:** much-improved branch coverage.
+
+New in 4.0: ``--concurrency``, plugins for non-Python files, setup.cfg
support, --skip-covered, HTML filtering, and more than 50 issues closed.
diff --git a/appveyor.yml b/appveyor.yml
index faa354f3..7d6a7547 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -24,14 +24,14 @@ environment:
- JOB: "2.7 32-bit"
TOXENV: "py27"
- PYTHON: "C:\\Python27.10"
- PYTHON_VERSION: "2.7.10"
+ PYTHON: "C:\\Python27.11"
+ PYTHON_VERSION: "2.7.11"
PYTHON_ARCH: "32"
- JOB: "2.7 64-bit"
TOXENV: "py27"
- PYTHON: "C:\\Python27.10-x64"
- PYTHON_VERSION: "2.7.10"
+ PYTHON: "C:\\Python27.11-x64"
+ PYTHON_VERSION: "2.7.11"
PYTHON_ARCH: "64"
- JOB: "3.3 32-bit"
diff --git a/coverage/backward.py b/coverage/backward.py
index 7f571c07..50d49a0f 100644
--- a/coverage/backward.py
+++ b/coverage/backward.py
@@ -49,6 +49,15 @@ try:
except NameError:
range = range
+# shlex.quote is new, but there's an undocumented implementation in "pipes",
+# who knew!?
+try:
+ from shlex import quote as shlex_quote
+except ImportError:
+ # Useful function, available under a different (undocumented) name
+ # in Python versions earlier than 3.3.
+ from pipes import quote as shlex_quote
+
# A function to iterate listlessly over a dict's items.
try:
{}.iteritems
@@ -84,10 +93,6 @@ if env.PY3:
"""Produce a byte string with the ints from `byte_values`."""
return bytes(byte_values)
- def byte_to_int(byte_value):
- """Turn an element of a bytes object into an int."""
- return byte_value
-
def bytes_to_ints(bytes_value):
"""Turn a bytes object into a sequence of ints."""
# In Python 3, iterating bytes gives ints.
@@ -102,10 +107,6 @@ else:
"""Produce a byte string with the ints from `byte_values`."""
return "".join(chr(b) for b in byte_values)
- def byte_to_int(byte_value):
- """Turn an element of a bytes object into an int."""
- return ord(byte_value)
-
def bytes_to_ints(bytes_value):
"""Turn a bytes object into a sequence of ints."""
for byte in bytes_value:
@@ -142,11 +143,12 @@ except AttributeError:
PYC_MAGIC_NUMBER = imp.get_magic()
-def import_local_file(modname):
+def import_local_file(modname, modfile=None):
"""Import a local file as a module.
Opens a file in the current directory named `modname`.py, imports it
- as `modname`, and returns the module object.
+ as `modname`, and returns the module object. `modfile` is the file to
+ import if it isn't in the current directory.
"""
try:
@@ -154,7 +156,8 @@ def import_local_file(modname):
except ImportError:
SourceFileLoader = None
- modfile = modname + '.py'
+ if modfile is None:
+ modfile = modname + '.py'
if SourceFileLoader:
mod = SourceFileLoader(modname, modfile).load_module()
else:
diff --git a/coverage/bytecode.py b/coverage/bytecode.py
index 82929cef..d823c67c 100644
--- a/coverage/bytecode.py
+++ b/coverage/bytecode.py
@@ -3,73 +3,8 @@
"""Bytecode manipulation for coverage.py"""
-import opcode
import types
-from coverage.backward import byte_to_int
-
-
-class ByteCode(object):
- """A single bytecode."""
- def __init__(self):
- # The offset of this bytecode in the code object.
- self.offset = -1
-
- # The opcode, defined in the `opcode` module.
- self.op = -1
-
- # The argument, a small integer, whose meaning depends on the opcode.
- self.arg = -1
-
- # The offset in the code object of the next bytecode.
- self.next_offset = -1
-
- # The offset to jump to.
- self.jump_to = -1
-
-
-class ByteCodes(object):
- """Iterator over byte codes in `code`.
-
- This handles the logic of EXTENDED_ARG byte codes internally. Those byte
- codes are not returned by this iterator.
-
- Returns `ByteCode` objects.
-
- """
- def __init__(self, code):
- self.code = code
-
- def __getitem__(self, i):
- return byte_to_int(self.code[i])
-
- def __iter__(self):
- offset = 0
- ext_arg = 0
- while offset < len(self.code):
- bc = ByteCode()
- bc.op = self[offset]
- bc.offset = offset
-
- next_offset = offset+1
- if bc.op >= opcode.HAVE_ARGUMENT:
- bc.arg = ext_arg + self[offset+1] + 256*self[offset+2]
- next_offset += 2
-
- label = -1
- if bc.op in opcode.hasjrel:
- label = next_offset + bc.arg
- elif bc.op in opcode.hasjabs:
- label = bc.arg
- bc.jump_to = label
-
- bc.next_offset = offset = next_offset
- if bc.op == opcode.EXTENDED_ARG:
- ext_arg = bc.arg * 256*256
- else:
- ext_arg = 0
- yield bc
-
class CodeObjects(object):
"""Iterate over all the code objects in `code`."""
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 46a87ca6..221c18d6 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -228,7 +228,6 @@ class CmdOptionParser(CoverageOptionParser):
if usage:
usage = "%prog " + usage
super(CmdOptionParser, self).__init__(
- prog="coverage %s" % action,
usage=usage,
description=description,
)
@@ -242,6 +241,14 @@ class CmdOptionParser(CoverageOptionParser):
# results, and they will compare equal to objects.
return (other == "<CmdOptionParser:%s>" % self.cmd)
+ def get_prog_name(self):
+ """Override of an undocumented function in optparse.OptionParser."""
+ program_name = super(CmdOptionParser, self).get_prog_name()
+
+ # Include the sub-command for this parser as part of the command.
+ return "%(command)s %(subcommand)s" % {'command': program_name, 'subcommand': self.cmd}
+
+
GLOBAL_ARGS = [
Opts.debug,
Opts.help,
@@ -390,6 +397,17 @@ class CoverageScript(object):
self.coverage = None
+ self.program_name = os.path.basename(sys.argv[0])
+ if env.WINDOWS:
+ # entry_points={'console_scripts':...} on Windows makes files
+ # called coverage.exe, coverage3.exe, and coverage-3.5.exe. These
+ # invoke coverage-script.py, coverage3-script.py, and
+ # coverage-3.5-script.py. argv[0] is the .py file, but we want to
+ # get back to the original form.
+ auto_suffix = "-script.py"
+ if self.program_name.endswith(auto_suffix):
+ self.program_name = self.program_name[:-len(auto_suffix)]
+
def command_line(self, argv):
"""The bulk of the command line interface to coverage.py.
@@ -523,13 +541,15 @@ class CoverageScript(object):
assert error or topic or parser
if error:
print(error)
- print("Use 'coverage help' for help.")
+ print("Use '%s help' for help." % (self.program_name,))
elif parser:
print(parser.format_help().strip())
else:
+ help_params = dict(self.covpkg.__dict__)
+ help_params['program_name'] = self.program_name
help_msg = textwrap.dedent(HELP_TOPICS.get(topic, '')).strip()
if help_msg:
- print(help_msg % self.covpkg.__dict__)
+ print(help_msg % help_params)
else:
print("Don't know topic %r" % topic)
@@ -682,7 +702,7 @@ HELP_TOPICS = {
Coverage.py, version %(__version__)s
Measure, collect, and report on code coverage in Python programs.
- usage: coverage <command> [options] [args]
+ usage: %(program_name)s <command> [options] [args]
Commands:
annotate Annotate source files with execution information.
@@ -694,12 +714,12 @@ HELP_TOPICS = {
run Run a Python program and measure code execution.
xml Create an XML report of coverage results.
- Use "coverage help <command>" for detailed help on any command.
+ Use "%(program_name)s help <command>" for detailed help on any command.
For full documentation, see %(__url__)s
""",
'minimum_help': """\
- Code coverage for Python. Use 'coverage help' for help.
+ Code coverage for Python. Use '%(program_name)s help' for help.
""",
'version': """\
diff --git a/coverage/ctracer/datastack.c b/coverage/ctracer/datastack.c
index 1d925ad7..5a384e6b 100644
--- a/coverage/ctracer/datastack.c
+++ b/coverage/ctracer/datastack.c
@@ -26,10 +26,10 @@ DataStack_grow(Stats *pstats, DataStack *pdata_stack)
{
pdata_stack->depth++;
if (pdata_stack->depth >= pdata_stack->alloc) {
- STATS( pstats->stack_reallocs++; )
/* We've outgrown our data_stack array: make it bigger. */
int bigger = pdata_stack->alloc + STACK_DELTA;
DataStackEntry * bigger_data_stack = PyMem_Realloc(pdata_stack->stack, bigger * sizeof(DataStackEntry));
+ STATS( pstats->stack_reallocs++; )
if (bigger_data_stack == NULL) {
PyErr_NoMemory();
pdata_stack->depth--;
diff --git a/coverage/ctracer/tracer.c b/coverage/ctracer/tracer.c
index 3266ff2f..02a613c0 100644
--- a/coverage/ctracer/tracer.c
+++ b/coverage/ctracer/tracer.c
@@ -64,24 +64,11 @@ static int
CTracer_init(CTracer *self, PyObject *args_unused, PyObject *kwds_unused)
{
int ret = RET_ERROR;
- PyObject * weakref = NULL;
if (DataStack_init(&self->stats, &self->data_stack) < 0) {
goto error;
}
- weakref = PyImport_ImportModule("weakref");
- if (weakref == NULL) {
- goto error;
- }
- STATS( self->stats.pycalls++; )
- self->data_stack_index = PyObject_CallMethod(weakref, "WeakKeyDictionary", NULL);
- Py_XDECREF(weakref);
-
- if (self->data_stack_index == NULL) {
- goto error;
- }
-
self->pdata_stack = &self->data_stack;
self->cur_entry.last_line = -1;
@@ -217,6 +204,22 @@ CTracer_set_pdata_stack(CTracer *self)
if (self->concur_id_func != Py_None) {
int the_index = 0;
+ if (self->data_stack_index == NULL) {
+ PyObject * weakref = NULL;
+
+ weakref = PyImport_ImportModule("weakref");
+ if (weakref == NULL) {
+ goto error;
+ }
+ STATS( self->stats.pycalls++; )
+ self->data_stack_index = PyObject_CallMethod(weakref, "WeakKeyDictionary", NULL);
+ Py_XDECREF(weakref);
+
+ if (self->data_stack_index == NULL) {
+ goto error;
+ }
+ }
+
STATS( self->stats.pycalls++; )
co_obj = PyObject_CallObject(self->concur_id_func, NULL);
if (co_obj == NULL) {
@@ -892,7 +895,7 @@ cleanup:
* PyEval_SetTrace. So sys.gettrace() will return our self parameter, which
* means it must be callable to be used in sys.settrace().
*
- * So we make our self callable, equivalent to invoking our trace function.
+ * So we make ourself callable, equivalent to invoking our trace function.
*
* To help with the process of replaying stored frames, this function has an
* optional keyword argument:
@@ -996,7 +999,6 @@ CTracer_start(CTracer *self, PyObject *args_unused)
PyEval_SetTrace((Py_tracefunc)CTracer_trace, (PyObject*)self);
self->started = TRUE;
self->tracing_arcs = self->trace_arcs && PyObject_IsTrue(self->trace_arcs);
- self->cur_entry.last_line = -1;
/* start() returns a trace function usable with sys.settrace() */
Py_INCREF(self);
diff --git a/coverage/ctracer/util.h b/coverage/ctracer/util.h
index ad8f49d6..78d9204c 100644
--- a/coverage/ctracer/util.h
+++ b/coverage/ctracer/util.h
@@ -15,33 +15,31 @@
#if PY_MAJOR_VERSION >= 3
-#define MyText_Type PyUnicode_Type
-#define MyText_AS_BYTES(o) PyUnicode_AsASCIIString(o)
-#define MyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
-#define MyBytes_AS_STRING(o) PyBytes_AS_STRING(o)
-#define MyText_AsString(o) PyUnicode_AsUTF8(o)
-#define MyText_FromFormat PyUnicode_FromFormat
-#define MyInt_FromInt(i) PyLong_FromLong((long)i)
-#define MyInt_AsInt(o) (int)PyLong_AsLong(o)
-#define MyText_InternFromString(s) \
- PyUnicode_InternFromString(s)
-
-#define MyType_HEAD_INIT PyVarObject_HEAD_INIT(NULL, 0)
+#define MyText_Type PyUnicode_Type
+#define MyText_AS_BYTES(o) PyUnicode_AsASCIIString(o)
+#define MyBytes_GET_SIZE(o) PyBytes_GET_SIZE(o)
+#define MyBytes_AS_STRING(o) PyBytes_AS_STRING(o)
+#define MyText_AsString(o) PyUnicode_AsUTF8(o)
+#define MyText_FromFormat PyUnicode_FromFormat
+#define MyInt_FromInt(i) PyLong_FromLong((long)i)
+#define MyInt_AsInt(o) (int)PyLong_AsLong(o)
+#define MyText_InternFromString(s) PyUnicode_InternFromString(s)
+
+#define MyType_HEAD_INIT PyVarObject_HEAD_INIT(NULL, 0)
#else
-#define MyText_Type PyString_Type
-#define MyText_AS_BYTES(o) (Py_INCREF(o), o)
-#define MyBytes_GET_SIZE(o) PyString_GET_SIZE(o)
-#define MyBytes_AS_STRING(o) PyString_AS_STRING(o)
-#define MyText_AsString(o) PyString_AsString(o)
-#define MyText_FromFormat PyUnicode_FromFormat
-#define MyInt_FromInt(i) PyInt_FromLong((long)i)
-#define MyInt_AsInt(o) (int)PyInt_AsLong(o)
-#define MyText_InternFromString(s) \
- PyString_InternFromString(s)
-
-#define MyType_HEAD_INIT PyObject_HEAD_INIT(NULL) 0,
+#define MyText_Type PyString_Type
+#define MyText_AS_BYTES(o) (Py_INCREF(o), o)
+#define MyBytes_GET_SIZE(o) PyString_GET_SIZE(o)
+#define MyBytes_AS_STRING(o) PyString_AS_STRING(o)
+#define MyText_AsString(o) PyString_AsString(o)
+#define MyText_FromFormat PyUnicode_FromFormat
+#define MyInt_FromInt(i) PyInt_FromLong((long)i)
+#define MyInt_AsInt(o) (int)PyInt_AsLong(o)
+#define MyText_InternFromString(s) PyString_InternFromString(s)
+
+#define MyType_HEAD_INIT PyObject_HEAD_INIT(NULL) 0,
#endif /* Py3k */
diff --git a/coverage/debug.py b/coverage/debug.py
index 4076b9b2..719e97bb 100644
--- a/coverage/debug.py
+++ b/coverage/debug.py
@@ -42,7 +42,7 @@ class DebugControl(object):
msg = "pid %5d: %s" % (os.getpid(), msg)
self.output.write(msg+"\n")
if self.should('callers'):
- dump_stack_frames(self.output)
+ dump_stack_frames(out=self.output)
self.output.flush()
def write_formatted_info(self, header, info):
@@ -80,7 +80,7 @@ def info_formatter(info):
yield "%*s: %s" % (label_len, label, data)
-def short_stack(): # pragma: debugging
+def short_stack(limit=None): # pragma: debugging
"""Return a string summarizing the call stack.
The string is multi-line, with one line per stack frame. Each line shows
@@ -92,13 +92,15 @@ def short_stack(): # pragma: debugging
import_local_file : /Users/ned/coverage/trunk/coverage/backward.py @159
...
+ `limit` is the number of frames to include, defaulting to all of them.
+
"""
- stack = inspect.stack()[:0:-1]
+ stack = inspect.stack()[limit:0:-1]
return "\n".join("%30s : %s @%d" % (t[3], t[1], t[2]) for t in stack)
-def dump_stack_frames(out=None): # pragma: debugging
+def dump_stack_frames(limit=None, out=None): # pragma: debugging
"""Print a summary of the stack to stdout, or some place else."""
out = out or sys.stdout
- out.write(short_stack())
+ out.write(short_stack(limit=limit))
out.write("\n")
diff --git a/coverage/monkey.py b/coverage/monkey.py
index c4ec68c6..e7517bf6 100644
--- a/coverage/monkey.py
+++ b/coverage/monkey.py
@@ -11,6 +11,36 @@ import sys
# monkey-patched.
PATCHED_MARKER = "_coverage$patched"
+if sys.version_info >= (3, 4):
+ klass = multiprocessing.process.BaseProcess
+else:
+ klass = multiprocessing.Process
+
+original_bootstrap = klass._bootstrap
+
+
+class ProcessWithCoverage(klass):
+ """A replacement for multiprocess.Process that starts coverage."""
+ def _bootstrap(self):
+ """Wrapper around _bootstrap to start coverage."""
+ from coverage import Coverage
+ cov = Coverage(data_suffix=True)
+ cov.start()
+ try:
+ return original_bootstrap(self)
+ finally:
+ cov.stop()
+ cov.save()
+
+
+class Stowaway(object):
+ """An object to pickle, so when it is unpickled, it can apply the monkey-patch."""
+ def __getstate__(self):
+ return {}
+
+ def __setstate__(self, state_unused):
+ patch_multiprocessing()
+
def patch_multiprocessing():
"""Monkey-patch the multiprocessing module.
@@ -23,28 +53,28 @@ def patch_multiprocessing():
return
if sys.version_info >= (3, 4):
- klass = multiprocessing.process.BaseProcess
- else:
- klass = multiprocessing.Process
-
- original_bootstrap = klass._bootstrap
-
- class ProcessWithCoverage(klass):
- """A replacement for multiprocess.Process that starts coverage."""
- def _bootstrap(self):
- """Wrapper around _bootstrap to start coverage."""
- from coverage import Coverage
- cov = Coverage(data_suffix=True)
- cov.start()
- try:
- return original_bootstrap(self)
- finally:
- cov.stop()
- cov.save()
-
- if sys.version_info >= (3, 4):
klass._bootstrap = ProcessWithCoverage._bootstrap
else:
multiprocessing.Process = ProcessWithCoverage
+ # When spawning processes rather than forking them, we have no state in the
+ # new process. We sneak in there with a Stowaway: we stuff one of our own
+ # objects into the data that gets pickled and sent to the sub-process. When
+ # the Stowaway is unpickled, it's __setstate__ method is called, which
+ # re-applies the monkey-patch.
+ # Windows only spawns, so this is needed to keep Windows working.
+ try:
+ from multiprocessing import spawn # pylint: disable=no-name-in-module
+ original_get_preparation_data = spawn.get_preparation_data
+ except (ImportError, AttributeError):
+ pass
+ else:
+ def get_preparation_data_with_stowaway(name):
+ """Get the original preparation data, and also insert our stowaway."""
+ d = original_get_preparation_data(name)
+ d['stowaway'] = Stowaway()
+ return d
+
+ spawn.get_preparation_data = get_preparation_data_with_stowaway
+
setattr(multiprocessing, PATCHED_MARKER, True)
diff --git a/coverage/parser.py b/coverage/parser.py
index a5e96237..17f1f0d5 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -3,18 +3,20 @@
"""Code parsing for coverage.py."""
+import ast
import collections
-import dis
+import os
import re
import token
import tokenize
+from coverage import env
from coverage.backward import range # pylint: disable=redefined-builtin
-from coverage.backward import bytes_to_ints
-from coverage.bytecode import ByteCodes, CodeObjects
-from coverage.misc import contract, nice_pair, expensive, join_regex
+from coverage.backward import bytes_to_ints, string_class
+from coverage.bytecode import CodeObjects
+from coverage.misc import contract, nice_pair, join_regex
from coverage.misc import CoverageException, NoSource, NotPython
-from coverage.phystokens import compile_unicode, generate_tokens
+from coverage.phystokens import compile_unicode, generate_tokens, neuter_encoding_declaration
class PythonParser(object):
@@ -42,25 +44,40 @@ class PythonParser(object):
self.exclude = exclude
- self.show_tokens = False
-
# The text lines of the parsed code.
self.lines = self.text.split('\n')
- # The line numbers of excluded lines of code.
+ # The normalized line numbers of the statements in the code. Exclusions
+ # are taken into account, and statements are adjusted to their first
+ # lines.
+ self.statements = set()
+
+ # The normalized line numbers of the excluded lines in the code,
+ # adjusted to their first lines.
self.excluded = set()
- # The line numbers of docstring lines.
- self.docstrings = set()
+ # The raw_* attributes are only used in this class, and in
+ # lab/parser.py to show how this class is working.
+
+ # The line numbers that start statements, as reported by the line
+ # number table in the bytecode.
+ self.raw_statements = set()
- # The line numbers of class definitions.
- self.classdefs = set()
+ # The raw line numbers of excluded lines of code, as marked by pragmas.
+ self.raw_excluded = set()
- # A dict mapping line numbers to (lo,hi) for multi-line statements.
- self.multiline = {}
+ # The line numbers of class and function definitions.
+ self.raw_classdefs = set()
- # The line numbers that start statements.
- self.statement_starts = set()
+ # The line numbers of docstring lines.
+ self.raw_docstrings = set()
+
+ # Internal detail, used by lab/parser.py.
+ self.show_tokens = False
+
+ # A dict mapping line numbers to lexical statement starts for
+ # multi-line statements.
+ self._multiline = {}
# Lazily-created ByteParser and arc data.
self._byte_parser = None
@@ -81,7 +98,10 @@ class PythonParser(object):
part of it.
"""
- regex_c = re.compile(join_regex(regexes))
+ combined = join_regex(regexes)
+ if env.PY2:
+ combined = combined.decode("utf8")
+ regex_c = re.compile(combined)
matches = set()
for i, ltext in enumerate(self.lines, start=1):
if regex_c.search(ltext):
@@ -91,21 +111,23 @@ class PythonParser(object):
def _raw_parse(self):
"""Parse the source to find the interesting facts about its lines.
- A handful of member fields are updated.
+ A handful of attributes are updated.
"""
# Find lines which match an exclusion pattern.
if self.exclude:
- self.excluded = self.lines_matching(self.exclude)
+ self.raw_excluded = self.lines_matching(self.exclude)
# Tokenize, to find excluded suites, to find docstrings, and to find
# multi-line statements.
indent = 0
exclude_indent = 0
excluding = False
+ excluding_decorators = False
prev_toktype = token.INDENT
first_line = None
empty = True
+ first_on_line = True
tokgen = generate_tokens(self.text)
for toktype, ttext, (slineno, _), (elineno, _), ltext in tokgen:
@@ -118,32 +140,44 @@ class PythonParser(object):
indent += 1
elif toktype == token.DEDENT:
indent -= 1
- elif toktype == token.NAME and ttext == 'class':
- # Class definitions look like branches in the byte code, so
- # we need to exclude them. The simplest way is to note the
- # lines with the 'class' keyword.
- self.classdefs.add(slineno)
- elif toktype == token.OP and ttext == ':':
- if not excluding and elineno in self.excluded:
- # Start excluding a suite. We trigger off of the colon
- # token so that the #pragma comment will be recognized on
- # the same line as the colon.
- exclude_indent = indent
- excluding = True
+ elif toktype == token.NAME:
+ if ttext == 'class':
+ # Class definitions look like branches in the bytecode, so
+ # we need to exclude them. The simplest way is to note the
+ # lines with the 'class' keyword.
+ self.raw_classdefs.add(slineno)
+ elif toktype == token.OP:
+ if ttext == ':':
+ should_exclude = (elineno in self.raw_excluded) or excluding_decorators
+ if not excluding and should_exclude:
+ # Start excluding a suite. We trigger off of the colon
+ # token so that the #pragma comment will be recognized on
+ # the same line as the colon.
+ self.raw_excluded.add(elineno)
+ exclude_indent = indent
+ excluding = True
+ excluding_decorators = False
+ elif ttext == '@' and first_on_line:
+ # A decorator.
+ if elineno in self.raw_excluded:
+ excluding_decorators = True
+ if excluding_decorators:
+ self.raw_excluded.add(elineno)
elif toktype == token.STRING and prev_toktype == token.INDENT:
# Strings that are first on an indented line are docstrings.
# (a trick from trace.py in the stdlib.) This works for
# 99.9999% of cases. For the rest (!) see:
# http://stackoverflow.com/questions/1769332/x/1769794#1769794
- self.docstrings.update(range(slineno, elineno+1))
+ self.raw_docstrings.update(range(slineno, elineno+1))
elif toktype == token.NEWLINE:
if first_line is not None and elineno != first_line:
# We're at the end of a line, and we've ended on a
# different line than the first line of the statement,
# so record a multi-line range.
for l in range(first_line, elineno+1):
- self.multiline[l] = first_line
+ self._multiline[l] = first_line
first_line = None
+ first_on_line = True
if ttext.strip() and toktype != tokenize.COMMENT:
# A non-whitespace token.
@@ -156,21 +190,18 @@ class PythonParser(object):
if excluding and indent <= exclude_indent:
excluding = False
if excluding:
- self.excluded.add(elineno)
+ self.raw_excluded.add(elineno)
+ first_on_line = False
prev_toktype = toktype
# Find the starts of the executable statements.
if not empty:
- self.statement_starts.update(self.byte_parser._find_statements())
+ self.raw_statements.update(self.byte_parser._find_statements())
def first_line(self, line):
"""Return the first line number of the statement including `line`."""
- first_line = self.multiline.get(line)
- if first_line:
- return first_line
- else:
- return line
+ return self._multiline.get(line, line)
def first_lines(self, lines):
"""Map the line numbers in `lines` to the correct first line of the
@@ -187,20 +218,13 @@ class PythonParser(object):
def translate_arcs(self, arcs):
"""Implement `FileReporter.translate_arcs`."""
- return [
- (self.first_line(a), self.first_line(b))
- for (a, b) in arcs
- ]
+ return [(self.first_line(a), self.first_line(b)) for (a, b) in arcs]
- @expensive
def parse_source(self):
"""Parse source text to find executable lines, excluded lines, etc.
- Return values are 1) a set of executable line numbers, and 2) a set of
- excluded line numbers.
-
- Reported line numbers are normalized to the first line of multi-line
- statements.
+ Sets the .excluded and .statements attributes, normalized to the first
+ line of multi-line statements.
"""
try:
@@ -216,15 +240,11 @@ class PythonParser(object):
)
)
- excluded_lines = self.first_lines(self.excluded)
- ignore = set()
- ignore.update(excluded_lines)
- ignore.update(self.docstrings)
- starts = self.statement_starts - ignore
- lines = self.first_lines(starts)
- lines -= ignore
+ self.excluded = self.first_lines(self.raw_excluded)
- return lines, excluded_lines
+ ignore = self.excluded | self.raw_docstrings
+ starts = self.raw_statements - ignore
+ self.statements = self.first_lines(starts) - ignore
def arcs(self):
"""Get information about the arcs available in the code.
@@ -234,8 +254,11 @@ class PythonParser(object):
"""
if self._all_arcs is None:
+ aaa = AstArcAnalyzer(self.text, self.raw_statements, self._multiline)
+ arcs = aaa.collect_arcs()
+
self._all_arcs = set()
- for l1, l2 in self.byte_parser._all_arcs():
+ for l1, l2 in arcs:
fl1 = self.first_line(l1)
fl2 = self.first_line(l2)
if fl1 != fl2:
@@ -248,22 +271,21 @@ class PythonParser(object):
Excluded lines are excluded.
"""
- excluded_lines = self.first_lines(self.excluded)
exit_counts = collections.defaultdict(int)
for l1, l2 in self.arcs():
if l1 < 0:
# Don't ever report -1 as a line number
continue
- if l1 in excluded_lines:
+ if l1 in self.excluded:
# Don't report excluded lines as line numbers.
continue
- if l2 in excluded_lines:
+ if l2 in self.excluded:
# Arcs to excluded lines shouldn't count.
continue
exit_counts[l1] += 1
# Class definitions have one extra exit, so remove one for each:
- for l in self.classdefs:
+ for l in self.raw_classdefs:
# Ensure key is there: class definitions can include excluded lines.
if l in exit_counts:
exit_counts[l] -= 1
@@ -271,62 +293,471 @@ class PythonParser(object):
return exit_counts
-## Opcodes that guide the ByteParser.
+#
+# AST analysis
+#
-def _opcode(name):
- """Return the opcode by name from the dis module."""
- return dis.opmap[name]
+class LoopBlock(object):
+ """A block on the block stack representing a `for` or `while` loop."""
+ def __init__(self, start):
+ self.start = start
+ self.break_exits = set()
-def _opcode_set(*names):
- """Return a set of opcodes by the names in `names`."""
- s = set()
- for name in names:
- try:
- s.add(_opcode(name))
- except KeyError:
- pass
- return s
+class FunctionBlock(object):
+ """A block on the block stack representing a function definition."""
+ def __init__(self, start):
+ self.start = start
+
+
+class TryBlock(object):
+ """A block on the block stack representing a `try` block."""
+ def __init__(self, handler_start=None, final_start=None):
+ self.handler_start = handler_start
+ self.final_start = final_start
+ self.break_from = set()
+ self.continue_from = set()
+ self.return_from = set()
+ self.raise_from = set()
+
+
+class SetSpy(object): # pragma: debugging
+ """A set proxy that shows who is adding things to it."""
+ def __init__(self, the_set):
+ self.the_set = the_set
+
+ def add(self, arc):
+ """set.add, but with a stack trace."""
+ from coverage.debug import short_stack
+ print("\nAdding arc: {}".format(arc))
+ print(short_stack(limit=6))
+ self.the_set.add(arc)
+
+
+class AstArcAnalyzer(object):
+ """Analyze source text with an AST to find executable code paths."""
+
+ @contract(text='unicode', statements=set)
+ def __init__(self, text, statements, multiline):
+ self.root_node = ast.parse(neuter_encoding_declaration(text))
+ # TODO: I think this is happening in too many places.
+ self.statements = set(multiline.get(l, l) for l in statements)
+ self.multiline = multiline
+
+ if int(os.environ.get("COVERAGE_ASTDUMP", 0)): # pragma: debugging
+ # Dump the AST so that failing tests have helpful output.
+ print("Statements: {}".format(self.statements))
+ print("Multiline map: {}".format(self.multiline))
+ ast_dump(self.root_node)
+
+ self.arcs = self.arcs_to_return = set()
+ if int(os.environ.get("COVERAGE_TRACK_ARCS", 0)): # pragma: debugging
+ self.arcs = SetSpy(self.arcs)
+ self.block_stack = []
+
+ def collect_arcs(self):
+ """Examine the AST tree from `root_node` to determine possible arcs.
+
+ Returns a set of (from, to) line number pairs.
+
+ """
+ for node in ast.walk(self.root_node):
+ node_name = node.__class__.__name__
+ code_object_handler = getattr(self, "_code_object__" + node_name, None)
+ if code_object_handler is not None:
+ code_object_handler(node)
+
+ return self.arcs_to_return
+
+ def nearest_blocks(self):
+ """Yield the blocks in nearest-to-farthest order."""
+ return reversed(self.block_stack)
+
+ def line_for_node(self, node):
+ """What is the right line number to use for this node?
+
+ This dispatches to _line__Node functions where needed.
+
+ """
+ node_name = node.__class__.__name__
+ handler = getattr(self, "_line__" + node_name, None)
+ if handler is not None:
+ return handler(node)
+ else:
+ return node.lineno
+
+ def _line__Assign(self, node):
+ return self.line_for_node(node.value)
+
+ def _line__Dict(self, node):
+ # Python 3.5 changed how dict literals are made.
+ if env.PYVERSION >= (3, 5) and node.keys:
+ return node.keys[0].lineno
+ else:
+ return node.lineno
+
+ def _line__List(self, node):
+ if node.elts:
+ return self.line_for_node(node.elts[0])
+ else:
+ return node.lineno
+
+ def _line__Module(self, node):
+ if node.body:
+ return self.line_for_node(node.body[0])
+ else:
+ # Modules have no line number, they always start at 1.
+ return 1
-# Opcodes that leave the code object.
-OPS_CODE_END = _opcode_set('RETURN_VALUE')
+ OK_TO_DEFAULT = set([
+ "Assign", "Assert", "AugAssign", "Delete", "Exec", "Expr", "Global",
+ "Import", "ImportFrom", "Pass", "Print",
+ ])
-# Opcodes that unconditionally end the code chunk.
-OPS_CHUNK_END = _opcode_set(
- 'JUMP_ABSOLUTE', 'JUMP_FORWARD', 'RETURN_VALUE', 'RAISE_VARARGS',
- 'BREAK_LOOP', 'CONTINUE_LOOP',
-)
+ def add_arcs(self, node):
+ """Add the arcs for `node`.
-# Opcodes that unconditionally begin a new code chunk. By starting new chunks
-# with unconditional jump instructions, we neatly deal with jumps to jumps
-# properly.
-OPS_CHUNK_BEGIN = _opcode_set('JUMP_ABSOLUTE', 'JUMP_FORWARD')
+ Return a set of line numbers, exits from this node to the next.
+ """
+ node_name = node.__class__.__name__
+ handler = getattr(self, "_handle__" + node_name, None)
+ if handler is not None:
+ return handler(node)
-# Opcodes that push a block on the block stack.
-OPS_PUSH_BLOCK = _opcode_set(
- 'SETUP_LOOP', 'SETUP_EXCEPT', 'SETUP_FINALLY', 'SETUP_WITH'
-)
+ if 0:
+ node_name = node.__class__.__name__
+ if node_name not in self.OK_TO_DEFAULT:
+ print("*** Unhandled: {0}".format(node))
+ return set([self.line_for_node(node)])
-# Block types for exception handling.
-OPS_EXCEPT_BLOCKS = _opcode_set('SETUP_EXCEPT', 'SETUP_FINALLY')
+ def add_body_arcs(self, body, from_line=None, prev_lines=None):
+ """Add arcs for the body of a compound statement.
-# Opcodes that pop a block from the block stack.
-OPS_POP_BLOCK = _opcode_set('POP_BLOCK')
+ `body` is the body node. `from_line` is a single line that can be the
+ previous line in flow before this body. `prev_lines` is a set of lines
+ that can be the previous line. Only one of them should be given.
-# Opcodes that have a jump destination, but aren't really a jump.
-OPS_NO_JUMP = OPS_PUSH_BLOCK
+ Returns a set of lines, the exits from this body.
-# Individual opcodes we need below.
-OP_BREAK_LOOP = _opcode('BREAK_LOOP')
-OP_END_FINALLY = _opcode('END_FINALLY')
-OP_COMPARE_OP = _opcode('COMPARE_OP')
-COMPARE_EXCEPTION = 10 # just have to get this constant from the code.
-OP_LOAD_CONST = _opcode('LOAD_CONST')
-OP_RETURN_VALUE = _opcode('RETURN_VALUE')
+ """
+ if prev_lines is None:
+ prev_lines = set([from_line])
+ for body_node in body:
+ lineno = self.line_for_node(body_node)
+ first_line = self.multiline.get(lineno, lineno)
+ if first_line not in self.statements:
+ continue
+ for prev_lineno in prev_lines:
+ self.arcs.add((prev_lineno, lineno))
+ prev_lines = self.add_arcs(body_node)
+ return prev_lines
+
+ def is_constant_expr(self, node):
+ """Is this a compile-time constant?"""
+ node_name = node.__class__.__name__
+ if node_name in ["NameConstant", "Num"]:
+ return True
+ elif node_name == "Name":
+ if env.PY3 and node.id in ["True", "False", "None"]:
+ return True
+ return False
+
+ # tests to write:
+ # TODO: while EXPR:
+ # TODO: while False:
+ # TODO: listcomps hidden deep in other expressions
+ # TODO: listcomps hidden in lists: x = [[i for i in range(10)]]
+ # TODO: nested function definitions
+
+ def process_break_exits(self, exits):
+ """Add arcs due to jumps from `exits` being breaks."""
+ for block in self.nearest_blocks():
+ if isinstance(block, LoopBlock):
+ block.break_exits.update(exits)
+ break
+ elif isinstance(block, TryBlock) and block.final_start is not None:
+ block.break_from.update(exits)
+ break
+
+ def process_continue_exits(self, exits):
+ """Add arcs due to jumps from `exits` being continues."""
+ for block in self.nearest_blocks():
+ if isinstance(block, LoopBlock):
+ for xit in exits:
+ self.arcs.add((xit, block.start))
+ break
+ elif isinstance(block, TryBlock) and block.final_start is not None:
+ block.continue_from.update(exits)
+ break
+
+ def process_raise_exits(self, exits):
+ """Add arcs due to jumps from `exits` being raises."""
+ for block in self.nearest_blocks():
+ if isinstance(block, TryBlock):
+ if block.handler_start is not None:
+ for xit in exits:
+ self.arcs.add((xit, block.handler_start))
+ break
+ elif block.final_start is not None:
+ block.raise_from.update(exits)
+ break
+ elif isinstance(block, FunctionBlock):
+ for xit in exits:
+ self.arcs.add((xit, -block.start))
+ break
+
+ def process_return_exits(self, exits):
+ """Add arcs due to jumps from `exits` being returns."""
+ for block in self.nearest_blocks():
+ if isinstance(block, TryBlock) and block.final_start is not None:
+ block.return_from.update(exits)
+ break
+ elif isinstance(block, FunctionBlock):
+ for xit in exits:
+ self.arcs.add((xit, -block.start))
+ break
+
+ ## Handlers
+
+ def _handle__Break(self, node):
+ here = self.line_for_node(node)
+ self.process_break_exits([here])
+ return set()
+
+ def _handle_decorated(self, node):
+ """Add arcs for things that can be decorated (classes and functions)."""
+ last = self.line_for_node(node)
+ if node.decorator_list:
+ for dec_node in node.decorator_list:
+ dec_start = self.line_for_node(dec_node)
+ if dec_start != last:
+ self.arcs.add((last, dec_start))
+ last = dec_start
+ # The definition line may have been missed, but we should have it
+ # in `self.statements`. For some constructs, `line_for_node` is
+ # not what we'd think of as the first line in the statement, so map
+ # it to the first one.
+ body_start = self.line_for_node(node.body[0])
+ body_start = self.multiline.get(body_start, body_start)
+ for lineno in range(last+1, body_start):
+ if lineno in self.statements:
+ self.arcs.add((last, lineno))
+ last = lineno
+ # The body is handled in collect_arcs.
+ return set([last])
+
+ _handle__ClassDef = _handle_decorated
+
+ def _handle__Continue(self, node):
+ here = self.line_for_node(node)
+ self.process_continue_exits([here])
+ return set()
+
+ def _handle__For(self, node):
+ start = self.line_for_node(node.iter)
+ self.block_stack.append(LoopBlock(start=start))
+ exits = self.add_body_arcs(node.body, from_line=start)
+ for xit in exits:
+ self.arcs.add((xit, start))
+ my_block = self.block_stack.pop()
+ exits = my_block.break_exits
+ if node.orelse:
+ else_exits = self.add_body_arcs(node.orelse, from_line=start)
+ exits |= else_exits
+ else:
+ # no else clause: exit from the for line.
+ exits.add(start)
+ return exits
+
+ _handle__AsyncFor = _handle__For
+
+ _handle__FunctionDef = _handle_decorated
+ _handle__AsyncFunctionDef = _handle_decorated
+
+ def _handle__If(self, node):
+ start = self.line_for_node(node.test)
+ exits = self.add_body_arcs(node.body, from_line=start)
+ exits |= self.add_body_arcs(node.orelse, from_line=start)
+ return exits
+
+ def _handle__Raise(self, node):
+ # `raise` statement jumps away, no exits from here.
+ here = self.line_for_node(node)
+ self.process_raise_exits([here])
+ return set()
+
+ def _handle__Return(self, node):
+ here = self.line_for_node(node)
+ self.process_return_exits([here])
+ return set()
+
+ def _handle__Try(self, node):
+ if node.handlers:
+ handler_start = self.line_for_node(node.handlers[0])
+ else:
+ handler_start = None
+
+ if node.finalbody:
+ final_start = self.line_for_node(node.finalbody[0])
+ else:
+ final_start = None
+
+ try_block = TryBlock(handler_start=handler_start, final_start=final_start)
+ self.block_stack.append(try_block)
+
+ start = self.line_for_node(node)
+ exits = self.add_body_arcs(node.body, from_line=start)
+
+ # We're done with the `try` body, so this block no longer handles
+ # exceptions. We keep the block so the `finally` clause can pick up
+ # flows from the handlers and `else` clause.
+ if node.finalbody:
+ try_block.handler_start = None
+ if node.handlers:
+ # If there are `except` clauses, then raises in the try body
+ # will already jump to them. Start this set over for raises in
+ # `except` and `else`.
+ try_block.raise_from = set([])
+ else:
+ self.block_stack.pop()
+
+ handler_exits = set()
+
+ last_handler_start = None
+ if node.handlers:
+ for handler_node in node.handlers:
+ handler_start = self.line_for_node(handler_node)
+ if last_handler_start is not None:
+ self.arcs.add((last_handler_start, handler_start))
+ last_handler_start = handler_start
+ handler_exits |= self.add_body_arcs(handler_node.body, from_line=handler_start)
+
+ if node.orelse:
+ exits = self.add_body_arcs(node.orelse, prev_lines=exits)
+
+ exits |= handler_exits
+
+ if node.finalbody:
+ self.block_stack.pop()
+ final_from = ( # You can get to the `finally` clause from:
+ exits | # the exits of the body or `else` clause,
+ try_block.break_from | # or a `break`,
+ try_block.continue_from | # or a `continue`,
+ try_block.raise_from | # or a `raise`,
+ try_block.return_from # or a `return`.
+ )
+
+ exits = self.add_body_arcs(node.finalbody, prev_lines=final_from)
+ if try_block.break_from:
+ self.process_break_exits(exits)
+ if try_block.continue_from:
+ self.process_continue_exits(exits)
+ if try_block.raise_from:
+ self.process_raise_exits(exits)
+ if try_block.return_from:
+ self.process_return_exits(exits)
+
+ return exits
+
+ def _handle__TryExcept(self, node):
+ # Python 2.7 uses separate TryExcept and TryFinally nodes. If we get
+ # TryExcept, it means there was no finally, so fake it, and treat as
+ # a general Try node.
+ node.finalbody = []
+ return self._handle__Try(node)
+
+ def _handle__TryFinally(self, node):
+ # Python 2.7 uses separate TryExcept and TryFinally nodes. If we get
+ # TryFinally, see if there's a TryExcept nested inside. If so, merge
+ # them. Otherwise, fake fields to complete a Try node.
+ node.handlers = []
+ node.orelse = []
+
+ first = node.body[0]
+ if first.__class__.__name__ == "TryExcept" and node.lineno == first.lineno:
+ assert len(node.body) == 1
+ node.body = first.body
+ node.handlers = first.handlers
+ node.orelse = first.orelse
+
+ return self._handle__Try(node)
+
+ def _handle__While(self, node):
+ constant_test = self.is_constant_expr(node.test)
+ start = to_top = self.line_for_node(node.test)
+ if constant_test:
+ to_top = self.line_for_node(node.body[0])
+ self.block_stack.append(LoopBlock(start=start))
+ exits = self.add_body_arcs(node.body, from_line=start)
+ for xit in exits:
+ self.arcs.add((xit, to_top))
+ exits = set()
+ my_block = self.block_stack.pop()
+ exits.update(my_block.break_exits)
+ if node.orelse:
+ else_exits = self.add_body_arcs(node.orelse, from_line=start)
+ exits |= else_exits
+ else:
+ # No `else` clause: you can exit from the start.
+ if not constant_test:
+ exits.add(start)
+ return exits
+
+ def _handle__With(self, node):
+ start = self.line_for_node(node)
+ exits = self.add_body_arcs(node.body, from_line=start)
+ return exits
+
+ _handle__AsyncWith = _handle__With
+
+ def _code_object__Module(self, node):
+ start = self.line_for_node(node)
+ if node.body:
+ exits = self.add_body_arcs(node.body, from_line=-1)
+ for xit in exits:
+ self.arcs.add((xit, -start))
+ else:
+ # Empty module.
+ self.arcs.add((-1, start))
+ self.arcs.add((start, -1))
+
+ def _code_object__FunctionDef(self, node):
+ start = self.line_for_node(node)
+ self.block_stack.append(FunctionBlock(start=start))
+ exits = self.add_body_arcs(node.body, from_line=-1)
+ self.block_stack.pop()
+ for xit in exits:
+ self.arcs.add((xit, -start))
+
+ _code_object__AsyncFunctionDef = _code_object__FunctionDef
+
+ def _code_object__ClassDef(self, node):
+ start = self.line_for_node(node)
+ self.arcs.add((-1, start))
+ exits = self.add_body_arcs(node.body, from_line=start)
+ for xit in exits:
+ self.arcs.add((xit, -start))
+
+ def do_code_object_comprehension(self, node):
+ """The common code for all comprehension nodes."""
+ start = self.line_for_node(node)
+ self.arcs.add((-1, start))
+ self.arcs.add((start, -start))
+
+ _code_object__GeneratorExp = do_code_object_comprehension
+ _code_object__DictComp = do_code_object_comprehension
+ _code_object__SetComp = do_code_object_comprehension
+ if env.PY3:
+ _code_object__ListComp = do_code_object_comprehension
+
+ def _code_object__Lambda(self, node):
+ start = self.line_for_node(node)
+ self.arcs.add((-1, start))
+ self.arcs.add((start, -start))
class ByteParser(object):
- """Parse byte codes to understand the structure of code."""
+ """Parse bytecode to understand the structure of code."""
@contract(text='unicode')
def __init__(self, text, code=None, filename=None):
@@ -345,7 +776,7 @@ class ByteParser(object):
# Alternative Python implementations don't always provide all the
# attributes on code objects that we need to do the analysis.
- for attr in ['co_lnotab', 'co_firstlineno', 'co_consts', 'co_code']:
+ for attr in ['co_lnotab', 'co_firstlineno', 'co_consts']:
if not hasattr(self.code, attr):
raise CoverageException(
"This implementation of Python doesn't support code analysis.\n"
@@ -400,272 +831,63 @@ class ByteParser(object):
for _, l in bp._bytes_lines():
yield l
- def _block_stack_repr(self, block_stack): # pragma: debugging
- """Get a string version of `block_stack`, for debugging."""
- blocks = ", ".join(
- "(%s, %r)" % (dis.opname[b[0]], b[1]) for b in block_stack
- )
- return "[" + blocks + "]"
-
- def _split_into_chunks(self):
- """Split the code object into a list of `Chunk` objects.
-
- Each chunk is only entered at its first instruction, though there can
- be many exits from a chunk.
-
- Returns a list of `Chunk` objects.
-
- """
- # The list of chunks so far, and the one we're working on.
- chunks = []
- chunk = None
-
- # A dict mapping byte offsets of line starts to the line numbers.
- bytes_lines_map = dict(self._bytes_lines())
-
- # The block stack: loops and try blocks get pushed here for the
- # implicit jumps that can occur.
- # Each entry is a tuple: (block type, destination)
- block_stack = []
-
- # Some op codes are followed by branches that should be ignored. This
- # is a count of how many ignores are left.
- ignore_branch = 0
-
- # We have to handle the last two bytecodes specially.
- ult = penult = None
-
- # Get a set of all of the jump-to points.
- jump_to = set()
- bytecodes = list(ByteCodes(self.code.co_code))
- for bc in bytecodes:
- if bc.jump_to >= 0:
- jump_to.add(bc.jump_to)
-
- chunk_lineno = 0
-
- # Walk the byte codes building chunks.
- for bc in bytecodes:
- # Maybe have to start a new chunk.
- start_new_chunk = False
- first_chunk = False
- if bc.offset in bytes_lines_map:
- # Start a new chunk for each source line number.
- start_new_chunk = True
- chunk_lineno = bytes_lines_map[bc.offset]
- first_chunk = True
- elif bc.offset in jump_to:
- # To make chunks have a single entrance, we have to make a new
- # chunk when we get to a place some bytecode jumps to.
- start_new_chunk = True
- elif bc.op in OPS_CHUNK_BEGIN:
- # Jumps deserve their own unnumbered chunk. This fixes
- # problems with jumps to jumps getting confused.
- start_new_chunk = True
-
- if not chunk or start_new_chunk:
- if chunk:
- chunk.exits.add(bc.offset)
- chunk = Chunk(bc.offset, chunk_lineno, first_chunk)
- if not chunks:
- # The very first chunk of a code object is always an
- # entrance.
- chunk.entrance = True
- chunks.append(chunk)
-
- # Look at the opcode.
- if bc.jump_to >= 0 and bc.op not in OPS_NO_JUMP:
- if ignore_branch:
- # Someone earlier wanted us to ignore this branch.
- ignore_branch -= 1
- else:
- # The opcode has a jump, it's an exit for this chunk.
- chunk.exits.add(bc.jump_to)
-
- if bc.op in OPS_CODE_END:
- # The opcode can exit the code object.
- chunk.exits.add(-self.code.co_firstlineno)
- if bc.op in OPS_PUSH_BLOCK:
- # The opcode adds a block to the block_stack.
- block_stack.append((bc.op, bc.jump_to))
- if bc.op in OPS_POP_BLOCK:
- # The opcode pops a block from the block stack.
- block_stack.pop()
- if bc.op in OPS_CHUNK_END:
- # This opcode forces the end of the chunk.
- if bc.op == OP_BREAK_LOOP:
- # A break is implicit: jump where the top of the
- # block_stack points.
- chunk.exits.add(block_stack[-1][1])
- chunk = None
- if bc.op == OP_END_FINALLY:
- # For the finally clause we need to find the closest exception
- # block, and use its jump target as an exit.
- for block in reversed(block_stack):
- if block[0] in OPS_EXCEPT_BLOCKS:
- chunk.exits.add(block[1])
- break
- if bc.op == OP_COMPARE_OP and bc.arg == COMPARE_EXCEPTION:
- # This is an except clause. We want to overlook the next
- # branch, so that except's don't count as branches.
- ignore_branch += 1
-
- penult = ult
- ult = bc
-
- if chunks:
- # The last two bytecodes could be a dummy "return None" that
- # shouldn't be counted as real code. Every Python code object seems
- # to end with a return, and a "return None" is inserted if there
- # isn't an explicit return in the source.
- if ult and penult:
- if penult.op == OP_LOAD_CONST and ult.op == OP_RETURN_VALUE:
- if self.code.co_consts[penult.arg] is None:
- # This is "return None", but is it dummy? A real line
- # would be a last chunk all by itself.
- if chunks[-1].byte != penult.offset:
- ex = -self.code.co_firstlineno
- # Split the last chunk
- last_chunk = chunks[-1]
- last_chunk.exits.remove(ex)
- last_chunk.exits.add(penult.offset)
- chunk = Chunk(
- penult.offset, last_chunk.line, False
- )
- chunk.exits.add(ex)
- chunks.append(chunk)
-
- # Give all the chunks a length.
- chunks[-1].length = bc.next_offset - chunks[-1].byte
- for i in range(len(chunks)-1):
- chunks[i].length = chunks[i+1].byte - chunks[i].byte
-
- #self.validate_chunks(chunks)
- return chunks
-
- def validate_chunks(self, chunks): # pragma: debugging
- """Validate the rule that chunks have a single entrance."""
- # starts is the entrances to the chunks
- starts = set(ch.byte for ch in chunks)
- for ch in chunks:
- assert all((ex in starts or ex < 0) for ex in ch.exits)
-
- def _arcs(self):
- """Find the executable arcs in the code.
-
- Yields pairs: (from,to). From and to are integer line numbers. If
- from is < 0, then the arc is an entrance into the code object. If to
- is < 0, the arc is an exit from the code object.
-
- """
- chunks = self._split_into_chunks()
-
- # A map from byte offsets to the chunk starting at that offset.
- byte_chunks = dict((c.byte, c) for c in chunks)
-
- # Traverse from the first chunk in each line, and yield arcs where
- # the trace function will be invoked.
- for chunk in chunks:
- if chunk.entrance:
- yield (-1, chunk.line)
- if not chunk.first:
- continue
-
- chunks_considered = set()
- chunks_to_consider = [chunk]
- while chunks_to_consider:
- # Get the chunk we're considering, and make sure we don't
- # consider it again.
- this_chunk = chunks_to_consider.pop()
- chunks_considered.add(this_chunk)
-
- # For each exit, add the line number if the trace function
- # would be triggered, or add the chunk to those being
- # considered if not.
- for ex in this_chunk.exits:
- if ex < 0:
- yield (chunk.line, ex)
- else:
- next_chunk = byte_chunks[ex]
- if next_chunk in chunks_considered:
- continue
-
- # The trace function is invoked if visiting the first
- # bytecode in a line, or if the transition is a
- # backward jump.
- backward_jump = next_chunk.byte < this_chunk.byte
- if next_chunk.first or backward_jump:
- if next_chunk.line != chunk.line:
- yield (chunk.line, next_chunk.line)
- else:
- chunks_to_consider.append(next_chunk)
-
- def _all_chunks(self):
- """Returns a list of `Chunk` objects for this code and its children.
-
- See `_split_into_chunks` for details.
-
- """
- chunks = []
- for bp in self.child_parsers():
- chunks.extend(bp._split_into_chunks())
-
- return chunks
-
- def _all_arcs(self):
- """Get the set of all arcs in this code object and its children.
-
- See `_arcs` for details.
-
- """
- arcs = set()
- for bp in self.child_parsers():
- arcs.update(bp._arcs())
+SKIP_DUMP_FIELDS = ["ctx"]
- return arcs
+def _is_simple_value(value):
+ """Is `value` simple enough to be displayed on a single line?"""
+ return (
+ value in [None, [], (), {}, set()] or
+ isinstance(value, (string_class, int, float))
+ )
+# TODO: a test of ast_dump?
+def ast_dump(node, depth=0):
+ """Dump the AST for `node`.
-class Chunk(object):
- """A sequence of byte codes with a single entrance.
-
- To analyze byte code, we have to divide it into chunks, sequences of byte
- codes such that each chunk has only one entrance, the first instruction in
- the block.
-
- This is almost the CS concept of `basic block`_, except that we're willing
- to have many exits from a chunk, and "basic block" is a more cumbersome
- term.
-
- .. _basic block: http://en.wikipedia.org/wiki/Basic_block
-
- `byte` is the offset to the bytecode starting this chunk.
-
- `line` is the source line number containing this chunk.
-
- `first` is true if this is the first chunk in the source line.
-
- An exit < 0 means the chunk can leave the code (return). The exit is
- the negative of the starting line number of the code block.
-
- The `entrance` attribute is a boolean indicating whether the code object
- can be entered at this chunk.
+ This recursively walks the AST, printing a readable version.
"""
- def __init__(self, byte, line, first):
- self.byte = byte
- self.line = line
- self.first = first
- self.length = 0
- self.entrance = False
- self.exits = set()
-
- def __repr__(self):
- return "<%d+%d @%d%s%s %r>" % (
- self.byte,
- self.length,
- self.line,
- "!" if self.first else "",
- "v" if self.entrance else "",
- list(self.exits),
- )
+ indent = " " * depth
+ if not isinstance(node, ast.AST):
+ print("{0}<{1} {2!r}>".format(indent, node.__class__.__name__, node))
+ return
+
+ lineno = getattr(node, "lineno", None)
+ if lineno is not None:
+ linemark = " @ {0}".format(node.lineno)
+ else:
+ linemark = ""
+ head = "{0}<{1}{2}".format(indent, node.__class__.__name__, linemark)
+
+ named_fields = [
+ (name, value)
+ for name, value in ast.iter_fields(node)
+ if name not in SKIP_DUMP_FIELDS
+ ]
+ if not named_fields:
+ print("{0}>".format(head))
+ elif len(named_fields) == 1 and _is_simple_value(named_fields[0][1]):
+ field_name, value = named_fields[0]
+ print("{0} {1}: {2!r}>".format(head, field_name, value))
+ else:
+ print(head)
+ if 0:
+ print("{0}# mro: {1}".format(
+ indent, ", ".join(c.__name__ for c in node.__class__.__mro__[1:]),
+ ))
+ next_indent = indent + " "
+ for field_name, value in named_fields:
+ prefix = "{0}{1}:".format(next_indent, field_name)
+ if _is_simple_value(value):
+ print("{0} {1!r}".format(prefix, value))
+ elif isinstance(value, list):
+ print("{0} [".format(prefix))
+ for n in value:
+ ast_dump(n, depth + 8)
+ print("{0}]".format(next_indent))
+ else:
+ print(prefix)
+ ast_dump(value, depth + 8)
+
+ print("{0}>".format(indent))
diff --git a/coverage/phystokens.py b/coverage/phystokens.py
index f5bd0bc9..5e80ed54 100644
--- a/coverage/phystokens.py
+++ b/coverage/phystokens.py
@@ -92,8 +92,7 @@ def source_token_lines(source):
line = []
col = 0
- # The \f is because of http://bugs.python.org/issue19035
- source = source.expandtabs(8).replace('\r\n', '\n').replace('\f', ' ')
+ source = source.expandtabs(8).replace('\r\n', '\n')
tokgen = generate_tokens(source)
for ttype, ttext, (_, scol), (_, ecol), _ in phys_tokens(tokgen):
@@ -153,7 +152,7 @@ class CachedTokenizer(object):
generate_tokens = CachedTokenizer().generate_tokens
-COOKIE_RE = re.compile(r"^\s*#.*coding[:=]\s*([-\w.]+)", flags=re.MULTILINE)
+COOKIE_RE = re.compile(r"^[ \t]*#.*coding[:=][ \t]*([-\w.]+)", flags=re.MULTILINE)
@contract(source='bytes')
def _source_encoding_py2(source):
@@ -291,5 +290,5 @@ def compile_unicode(source, filename, mode):
@contract(source='unicode', returns='unicode')
def neuter_encoding_declaration(source):
"""Return `source`, with any encoding declaration neutered."""
- source = COOKIE_RE.sub("# (deleted declaration)", source, count=1)
+ source = COOKIE_RE.sub("# (deleted declaration)", source, count=2)
return source
diff --git a/coverage/python.py b/coverage/python.py
index 4f589735..07d23472 100644
--- a/coverage/python.py
+++ b/coverage/python.py
@@ -50,6 +50,8 @@ def get_python_source(filename):
# Couldn't find source.
raise NoSource("No source for code: '%s'." % filename)
+ # Replace \f because of http://bugs.python.org/issue19035
+ source = source.replace(b'\f', b' ')
source = source.decode(source_encoding(source), "replace")
# Python code should always end with a line with a newline.
@@ -130,21 +132,16 @@ class PythonFileReporter(FileReporter):
filename=self.filename,
exclude=self.coverage._exclude_regex('exclude'),
)
+ self._parser.parse_source()
return self._parser
- @expensive
def lines(self):
"""Return the line numbers of statements in the file."""
- if self._statements is None:
- self._statements, self._excluded = self.parser.parse_source()
- return self._statements
+ return self.parser.statements
- @expensive
def excluded_lines(self):
"""Return the line numbers of statements in the file."""
- if self._excluded is None:
- self._statements, self._excluded = self.parser.parse_source()
- return self._excluded
+ return self.parser.excluded
def translate_lines(self, lines):
return self.parser.translate_lines(lines)
diff --git a/coverage/summary.py b/coverage/summary.py
index 5ddbb380..9227055e 100644
--- a/coverage/summary.py
+++ b/coverage/summary.py
@@ -30,8 +30,8 @@ class SummaryReporter(Reporter):
# Prepare the formatting strings
max_name = max([len(fr.relative_filename()) for fr in self.file_reporters] + [5])
fmt_name = u"%%- %ds " % max_name
- fmt_err = u"%s %s: %s\n"
- fmt_skip_covered = u"\n%s file%s skipped due to complete coverage.\n"
+ fmt_err = u"%s %s: %s"
+ fmt_skip_covered = u"\n%s file%s skipped due to complete coverage."
header = (fmt_name % "Name") + u" Stmts Miss"
fmt_coverage = fmt_name + u"%6d %6d"
@@ -44,17 +44,17 @@ class SummaryReporter(Reporter):
if self.config.show_missing:
header += u" Missing"
fmt_coverage += u" %s"
- rule = u"-" * len(header) + u"\n"
- header += u"\n"
- fmt_coverage += u"\n"
+ rule = u"-" * len(header)
if outfile is None:
outfile = sys.stdout
- if env.PY2:
- writeout = lambda u: outfile.write(u.encode(output_encoding()))
- else:
- writeout = outfile.write
+ def writeout(line):
+ """Write a line to the output, adding a newline."""
+ if env.PY2:
+ line = line.encode(output_encoding())
+ outfile.write(line.rstrip())
+ outfile.write("\n")
# Write the header
writeout(header)
diff --git a/coverage/test_helpers.py b/coverage/test_helpers.py
index 50cc3298..a76bed35 100644
--- a/coverage/test_helpers.py
+++ b/coverage/test_helpers.py
@@ -162,20 +162,20 @@ class StdStreamCapturingMixin(TestCase):
# nose keeps stdout from littering the screen, so we can safely Tee it,
# but it doesn't capture stderr, so we don't want to Tee stderr to the
# real stderr, since it will interfere with our nice field of dots.
- self.old_stdout = sys.stdout
+ old_stdout = sys.stdout
self.captured_stdout = StringIO()
sys.stdout = Tee(sys.stdout, self.captured_stdout)
- self.old_stderr = sys.stderr
+ old_stderr = sys.stderr
self.captured_stderr = StringIO()
sys.stderr = self.captured_stderr
- self.addCleanup(self.cleanup_std_streams)
+ self.addCleanup(self.cleanup_std_streams, old_stdout, old_stderr)
- def cleanup_std_streams(self):
+ def cleanup_std_streams(self, old_stdout, old_stderr):
"""Restore stdout and stderr."""
- sys.stdout = self.old_stdout
- sys.stderr = self.old_stderr
+ sys.stdout = old_stdout
+ sys.stderr = old_stderr
def stdout(self):
"""Return the data written to stdout during the test."""
@@ -186,6 +186,59 @@ class StdStreamCapturingMixin(TestCase):
return self.captured_stderr.getvalue()
+class DelayedAssertionMixin(TestCase):
+ """A test case mixin that provides a `delayed_assertions` context manager.
+
+ Use it like this::
+
+ with self.delayed_assertions():
+ self.assertEqual(x, y)
+ self.assertEqual(z, w)
+
+ All of the assertions will run. The failures will be displayed at the end
+ of the with-statement.
+
+ NOTE: this only works with some assertions. These are known to work:
+
+ - `assertEqual(str, str)`
+
+ - `assertMultilineEqual(str, str)`
+
+ """
+ def __init__(self, *args, **kwargs):
+ super(DelayedAssertionMixin, self).__init__(*args, **kwargs)
+ # This mixin only works with assert methods that call `self.fail`. In
+ # Python 2.7, `assertEqual` didn't, but we can do what Python 3 does,
+ # and use `assertMultiLineEqual` for comparing strings.
+ self.addTypeEqualityFunc(str, 'assertMultiLineEqual')
+ self._delayed_assertions = None
+
+ @contextlib.contextmanager
+ def delayed_assertions(self):
+ """The context manager: assert that we didn't collect any assertions."""
+ self._delayed_assertions = []
+ old_fail = self.fail
+ self.fail = self._delayed_fail
+ try:
+ yield
+ finally:
+ self.fail = old_fail
+ if self._delayed_assertions:
+ if len(self._delayed_assertions) == 1:
+ self.fail(self._delayed_assertions[0])
+ else:
+ self.fail(
+ "{0} failed assertions:\n{1}".format(
+ len(self._delayed_assertions),
+ "\n".join(self._delayed_assertions),
+ )
+ )
+
+ def _delayed_fail(self, msg=None):
+ """The stand-in for TestCase.fail during delayed_assertions."""
+ self._delayed_assertions.append(msg)
+
+
class TempDirMixin(SysPathAwareMixin, ModuleAwareMixin, TestCase):
"""A test case mixin that creates a temp directory and files in it.
diff --git a/coverage/version.py b/coverage/version.py
index 30f4bee1..e0302dc4 100644
--- a/coverage/version.py
+++ b/coverage/version.py
@@ -5,8 +5,7 @@
# This file is exec'ed in setup.py, don't import anything!
# Same semantics as sys.version_info.
-# Word is 'alpha', 'beta', 'candidate', or 'final'.
-version_info = (4, 1, 0, 'alpha', 0)
+version_info = (4, 1, 0, 'beta', 3)
def _make_version(major, minor, micro, releaselevel, serial):
diff --git a/coverage/xmlreport.py b/coverage/xmlreport.py
index d7c2f44a..dbda5f28 100644
--- a/coverage/xmlreport.py
+++ b/coverage/xmlreport.py
@@ -4,12 +4,14 @@
"""XML reporting for coverage.py"""
import os
+import os.path
import sys
import time
import xml.dom.minidom
from coverage import env
from coverage import __url__, __version__, files
+from coverage.backward import iitems
from coverage.misc import isolate_module
from coverage.report import Reporter
@@ -38,6 +40,10 @@ class XmlReporter(Reporter):
super(XmlReporter, self).__init__(coverage, config)
self.source_paths = set()
+ if config.source:
+ for src in config.source:
+ if os.path.exists(src):
+ self.source_paths.add(files.canonical_filename(src))
self.packages = {}
self.xml_out = None
self.has_arcs = coverage.data.has_arcs()
@@ -86,15 +92,14 @@ class XmlReporter(Reporter):
xcoverage.appendChild(xpackages)
# Populate the XML DOM with the package info.
- for pkg_name in sorted(self.packages.keys()):
- pkg_data = self.packages[pkg_name]
+ for pkg_name, pkg_data in sorted(iitems(self.packages)):
class_elts, lhits, lnum, bhits, bnum = pkg_data
xpackage = self.xml_out.createElement("package")
xpackages.appendChild(xpackage)
xclasses = self.xml_out.createElement("classes")
xpackage.appendChild(xclasses)
- for class_name in sorted(class_elts.keys()):
- xclasses.appendChild(class_elts[class_name])
+ for _, class_elt in sorted(iitems(class_elts)):
+ xclasses.appendChild(class_elt)
xpackage.setAttribute("name", pkg_name.replace(os.sep, '.'))
xpackage.setAttribute("line-rate", rate(lhits, lnum))
if self.has_arcs:
@@ -135,15 +140,20 @@ class XmlReporter(Reporter):
# Create the 'lines' and 'package' XML elements, which
# are populated later. Note that a package == a directory.
- filename = fr.relative_filename()
- filename = filename.replace("\\", "/")
- dirname = os.path.dirname(filename) or "."
- parts = dirname.split("/")
- dirname = "/".join(parts[:self.config.xml_package_depth])
+ filename = fr.filename.replace("\\", "/")
+ for source_path in self.source_paths:
+ if filename.startswith(source_path.replace("\\", "/") + "/"):
+ rel_name = filename[len(source_path)+1:]
+ break
+ else:
+ rel_name = fr.relative_filename()
+
+ dirname = os.path.dirname(rel_name) or "."
+ dirname = "/".join(dirname.split("/")[:self.config.xml_package_depth])
package_name = dirname.replace("/", ".")
- className = fr.relative_filename()
- self.source_paths.add(files.relative_directory().rstrip('/'))
+ if rel_name != fr.filename:
+ self.source_paths.add(fr.filename[:-len(rel_name)].rstrip(r"\/"))
package = self.packages.setdefault(package_name, [{}, 0, 0, 0, 0])
xclass = self.xml_out.createElement("class")
@@ -153,8 +163,8 @@ class XmlReporter(Reporter):
xlines = self.xml_out.createElement("lines")
xclass.appendChild(xlines)
- xclass.setAttribute("name", os.path.relpath(filename, dirname))
- xclass.setAttribute("filename", filename)
+ xclass.setAttribute("name", os.path.relpath(rel_name, dirname))
+ xclass.setAttribute("filename", fr.relative_filename().replace("\\", "/"))
xclass.setAttribute("complexity", "0")
branch_stats = analysis.branch_stats()
@@ -201,7 +211,7 @@ class XmlReporter(Reporter):
branch_rate = "0"
xclass.setAttribute("branch-rate", branch_rate)
- package[0][className] = xclass
+ package[0][rel_name] = xclass
package[1] += class_hits
package[2] += class_lines
package[3] += class_br_hits
diff --git a/doc/branch.rst b/doc/branch.rst
index 9cee70bf..f95f1d47 100644
--- a/doc/branch.rst
+++ b/doc/branch.rst
@@ -64,8 +64,8 @@ How it works
When measuring branches, coverage.py collects pairs of line numbers, a source
and destination for each transition from one line to another. Static analysis
-of the compiled bytecode provides a list of possible transitions. Comparing
-the measured to the possible indicates missing branches.
+of the source provides a list of possible transitions. Comparing the measured
+to the possible indicates missing branches.
The idea of tracking how lines follow each other was from `Titus Brown`__.
Thanks, Titus!
diff --git a/doc/changes.rst b/doc/changes.rst
index c87ffba4..9290820b 100644
--- a/doc/changes.rst
+++ b/doc/changes.rst
@@ -36,6 +36,8 @@ Major change history for coverage.py
.. :history: 20150919T072700, updated for 4.0
.. :history: 20151013T103000, updated for 4.0.1
.. :history: 20151104T050900, updated for 4.0.2
+.. :history: 20151124T065800, updated for 4.0.3
+.. :history: 20160110T125800, updated for 4.1b1
These are the major changes for coverage.py. For a more complete change
@@ -45,11 +47,93 @@ history, see the `CHANGES.rst`_ file in the source tree.
.. module:: coverage
+.. _changes_41:
+
+Unreleased
+----------
+
+
+
+Version 4.1b2 pre-release --- 2016-01-23
+----------------------------------------
+
+- Branch analysis has been rewritten: it used to be based on bytecode, but now
+ uses AST analysis. This has changed a number of things:
+
+ - More code paths are now considered runnable, especially in
+ ``try``/``except`` structures. This may mean that coverage.py will
+ identify more code paths as uncovered. This could either raise or lower
+ your overall coverage number.
+
+ - Python 3.5's ``async`` and ``await`` keywords are properly supported,
+ fixing `issue 434`_.
+
+ - Some long-standing branch coverage bugs were fixed:
+
+ - `issue 129`_: functions with only a docstring for a body would
+ incorrectly report a missing branch on the ``def`` line.
+
+ - `issue 212`_: code in an ``except`` block could be incorrectly marked as
+ a missing branch.
+
+ - `issue 146`_: context managers (``with`` statements) in a loop or ``try``
+ block could confuse the branch measurement, reporting incorrect partial
+ branches.
+
+ - `issue 422`_: in Python 3.5, an actual partial branch could be marked as
+ complete.
+
+- Pragmas to disable coverage measurement can now be used on decorator lines,
+ and they will apply to the entire function or class being decorated. This
+ implements the feature requested in `issue 131`_.
+
+- Multiprocessing support is now available on Windows. Thanks, Rodrigue
+ Cloutier.
+
+- The XML report now produces correct package names for modules found in
+ directories specified with ``source=``. Fixes `issue 465`_.
+
+.. _issue 129: https://bitbucket.org/ned/coveragepy/issues/129/misleading-branch-coverage-of-empty
+.. _issue 131: https://bitbucket.org/ned/coveragepy/issues/131/pragma-on-a-decorator-line-should-affect
+.. _issue 146: https://bitbucket.org/ned/coveragepy/issues/146/context-managers-confuse-branch-coverage
+.. _issue 212: https://bitbucket.org/ned/coveragepy/issues/212/coverage-erroneously-reports-partial
+.. _issue 422: https://bitbucket.org/ned/coveragepy/issues/422/python35-partial-branch-marked-as-fully
+.. _issue 434: https://bitbucket.org/ned/coveragepy/issues/434/indexerror-in-python-35
+.. _issue 461: https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma
+.. _issue 465: https://bitbucket.org/ned/coveragepy/issues/465/coveragexml-produces-package-names-with-an
+
+
+.. _changes_403:
+
+Version 4.0.3 --- 2015-11-24
+----------------------------
+
+- Fixed a mysterious problem that manifested in different ways: sometimes
+ hanging the process (`issue 420`_), sometimes making database connections
+ fail (`issue 445`_).
+
+- The XML report now has correct ``<source>`` elements when using a
+ ``--source=`` option somewhere besides the current directory. This fixes
+ `issue 439`_. Thanks, Arcady Ivanov.
+
+- Fixed an unusual edge case of detecting source encodings, described in
+ `issue 443`_.
+
+- Help messages that mention the command to use now properly use the actual
+ command name, which might be different than "coverage". Thanks to Ben
+ Finney, this closes `issue 438`_.
+
+.. _issue 420: https://bitbucket.org/ned/coveragepy/issues/420/coverage-40-hangs-indefinitely-on-python27
+.. _issue 438: https://bitbucket.org/ned/coveragepy/issues/438/parameterise-coverage-command-name
+.. _issue 439: https://bitbucket.org/ned/coveragepy/issues/439/incorrect-cobertura-file-sources-generated
+.. _issue 443: https://bitbucket.org/ned/coveragepy/issues/443/coverage-gets-confused-when-encoding
+.. _issue 445: https://bitbucket.org/ned/coveragepy/issues/445/django-app-cannot-connect-to-cassandra
+
.. _changes_402:
-Version 4.0.2 --- 4 November 2015
----------------------------------
+Version 4.0.2 --- 2015-11-04
+----------------------------
- More work on supporting unusually encoded source. Fixed `issue 431`_.
@@ -69,8 +153,8 @@ Version 4.0.2 --- 4 November 2015
.. _changes_401:
-Version 4.0.1 --- 13 October 2015
----------------------------------
+Version 4.0.1 --- 2015-10-13
+----------------------------
- When combining data files, unreadable files will now generate a warning
instead of failing the command. This is more in line with the older
@@ -117,8 +201,8 @@ Version 4.0.1 --- 13 October 2015
.. _changes_40:
-Version 4.0 --- 20 September 2015
----------------------------------
+Version 4.0 --- 2015-09-20
+--------------------------
Backward incompatibilities:
@@ -320,8 +404,8 @@ Bug fixes:
.. _changes_371:
-Version 3.7.1 --- 13 December 2013
-----------------------------------
+Version 3.7.1 --- 2013-12-13
+----------------------------
- Improved the speed of HTML report generation by about 20%.
@@ -331,8 +415,8 @@ Version 3.7.1 --- 13 December 2013
.. _changes_37:
-Version 3.7 --- 6 October 2013
-------------------------------
+Version 3.7 --- 2013-10-06
+--------------------------
- Added the ``--debug`` switch to ``coverage run``. It accepts a list of
options indicating the type of internal activity to log to stderr. For
@@ -389,8 +473,10 @@ Version 3.7 --- 6 October 2013
.. _issue 267: https://bitbucket.org/ned/coveragepy/issue/267/relative-path-aliases-dont-work
-Version 3.6 --- 5 January 2013
-------------------------------
+.. _changes_36:
+
+Version 3.6 --- 2013-01-05
+--------------------------
Features:
@@ -533,8 +619,10 @@ Fixes:
.. _issue 227: https://bitbucket.org/ned/coveragepy/issue/227/update-todo
-Version 3.5.3 --- 29 September 2012
------------------------------------
+.. _changes_353:
+
+Version 3.5.3 --- 2012-09-29
+----------------------------
- Line numbers in the HTML report line up better with the source lines, fixing
`issue 197`_, thanks Marius Gedminas.
@@ -569,7 +657,9 @@ Version 3.5.3 --- 29 September 2012
.. _issue 197: https://bitbucket.org/ned/coveragepy/issue/197/line-numbers-in-html-report-do-not-align
-Version 3.5.2 --- 4 May 2012
+.. _changes_352:
+
+Version 3.5.2 --- 2012-05-04
----------------------------
- The HTML report has slightly tweaked controls: the buttons at the top of
@@ -613,8 +703,10 @@ Version 3.5.2 --- 4 May 2012
.. _issue 173: https://bitbucket.org/ned/coveragepy/issue/173/theres-no-way-to-specify-show-missing-in
-Version 3.5.1 --- 23 September 2011
------------------------------------
+.. _changes_351:
+
+Version 3.5.1 --- 2011-09-23
+----------------------------
- When combining data files from parallel runs, you can now instruct
coverage.py about which directories are equivalent on different machines. A
@@ -652,8 +744,10 @@ Version 3.5.1 --- 23 September 2011
.. _issue 144: http://bitbucket.org/ned/coveragepy/issue/144/failure-generating-html-output-for
-Version 3.5 --- 29 June 2011
-----------------------------
+.. _changes_35:
+
+Version 3.5 --- 2011-06-29
+--------------------------
HTML reporting:
@@ -721,8 +815,10 @@ Reporting
.. _issue 125: https://bitbucket.org/ned/coveragepy/issue/125/coverage-removes-decoratortoolss-tracing
-Version 3.4 --- 19 September 2010
----------------------------------
+.. _changes_34:
+
+Version 3.4 --- 2010-09-19
+--------------------------
Controlling source:
@@ -816,8 +912,10 @@ Execution and measurement:
.. _issue 88: http://bitbucket.org/ned/coveragepy/issue/88/xml-report-lists-packages-in-random-order
-Version 3.3.1 --- 6 March 2010
-------------------------------
+.. _changes_331:
+
+Version 3.3.1 --- 2010-03-06
+----------------------------
- Using ``parallel=True`` in a .coveragerc file prevented reporting, but now
does not, fixing `issue 49`_.
@@ -829,8 +927,10 @@ Version 3.3.1 --- 6 March 2010
.. _issue 50: http://bitbucket.org/ned/coveragepy/issue/50
-Version 3.3 --- 24 February 2010
---------------------------------
+.. _changes_33:
+
+Version 3.3 --- 2010-02-24
+--------------------------
- Settings are now read from a .coveragerc file. A specific file can be
specified on the command line with ``--rcfile=FILE``. The name of the file
@@ -857,8 +957,10 @@ Version 3.3 --- 24 February 2010
.. _issue 47: http://bitbucket.org/ned/coveragepy/issue/47
-Version 3.2 --- 5 December 2009
--------------------------------
+.. _changes_32:
+
+Version 3.2 --- 2009-12-05
+--------------------------
- Branch coverage: coverage.py can tell you which branches didn't have both (or
all) choices executed, even where the choice doesn't affect which lines were
@@ -893,8 +995,10 @@ Version 3.2 --- 5 December 2009
.. _issue 33: http://bitbucket.org/ned/coveragepy/issue/33
-Version 3.1 --- 4 October 2009
-------------------------------
+.. _changes_31:
+
+Version 3.1 --- 2009-10-04
+--------------------------
- Python 3.1 is now supported.
@@ -924,8 +1028,10 @@ Version 3.1 --- 4 October 2009
.. _issue 13: http://bitbucket.org/ned/coveragepy/issue/13
-Version 3.0.1 --- 7 July 2009
------------------------------
+.. _changes_301:
+
+Version 3.0.1 --- 2009-07-07
+----------------------------
- Removed the recursion limit in the tracer function. Previously, code that
ran more than 500 frames deep would crash.
@@ -944,8 +1050,10 @@ Version 3.0.1 --- 7 July 2009
example.
-Version 3.0 --- 13 June 2009
-----------------------------
+.. _changes_30:
+
+Version 3.0 --- 2009-06-13
+--------------------------
- Coverage.py is now a package rather than a module. Functionality has been
split into classes.
diff --git a/doc/cmd.rst b/doc/cmd.rst
index dab226d7..a66df82d 100644
--- a/doc/cmd.rst
+++ b/doc/cmd.rst
@@ -165,7 +165,8 @@ Data file
---------
Coverage.py collects execution data in a file called ".coverage". If need be,
-you can set a new file name with the COVERAGE_FILE environment variable.
+you can set a new file name with the COVERAGE_FILE environment variable. This
+can include a path to another directory.
By default,each run of your program starts with an empty data set. If you need
to run your program multiple times to get complete data (for example, because
@@ -193,7 +194,7 @@ single directory, and use the **combine** command to combine them into one
You can also name directories or files on the command line::
- $ combine combine data1.dat windows_data_files/
+ $ coverage combine data1.dat windows_data_files/
Coverage.py will collect the data from those places and combine them. The
current directory isn't searched if you use command-line arguments. If you
diff --git a/doc/conf.py b/doc/conf.py
index f6cbf663..71ece5bf 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -49,16 +49,16 @@ master_doc = 'index'
# General information about the project.
project = u'Coverage.py'
-copyright = u'2009\N{EN DASH}2015, Ned Batchelder'
+copyright = u'2009\N{EN DASH}2016, Ned Batchelder'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
-version = '4.0'
+version = '4.1'
# The full version, including alpha/beta/rc tags.
-release = '4.0.2'
+release = '4.1b2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/doc/config.rst b/doc/config.rst
index 4ac63d4c..688e8992 100644
--- a/doc/config.rst
+++ b/doc/config.rst
@@ -120,7 +120,8 @@ option, or coverage.py will produce very wrong results.
.. versionadded:: 4.0
``data_file`` (string, default ".coverage"): the name of the data file to use
-for storing or reporting coverage.
+for storing or reporting coverage. This value can include a path to another
+directory.
``debug`` (multi-string): a list of debug options. See :ref:`the run
--debug option <cmd_run_debug>` for details.
diff --git a/doc/howitworks.rst b/doc/howitworks.rst
index 74747e80..6253f44a 100644
--- a/doc/howitworks.rst
+++ b/doc/howitworks.rst
@@ -73,12 +73,9 @@ difference between the executable lines, and the executed lines, are the lines
that were not executed.
The same principle applies for branch measurement, though the process for
-determining possible branches is more involved. Coverage.py reads the bytecode
-of the compiled Python file, and decides on a set of possible branches.
-Unfortunately, this process is inexact, and there are some `well-known cases`__
-that aren't correct.
-
-.. __: https://bitbucket.org/ned/coveragepy/issues?status=new&status=open&component=branch
+determining possible branches is more involved. Coverage.py uses the abstract
+syntax tree of the Python source file to determine the set of possible
+branches.
Reporting
diff --git a/doc/index.rst b/doc/index.rst
index 119fa7a3..61f7ea94 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -42,6 +42,9 @@ Coverage.py
.. :history: 20150918T072700, Updated for 4.0
.. :history: 20151013T103200, Updated for 4.0.1
.. :history: 20151104T050900, updated for 4.0.2
+.. :history: 20151124T065900, updated for 4.0.3
+.. :history: 20160110T125900, updated for 4.1b1
+.. :history: 20160123T171300, updated for 4.1b2
Coverage.py is a tool for measuring code coverage of Python programs. It
@@ -54,8 +57,8 @@ not.
.. ifconfig:: not prerelease
- The latest version is coverage.py 4.0.2, released 4 November 2015.
- It is supported on:
+ The latest version is coverage.py 4.0.3, released November 24th, 2015. It
+ is supported on:
* Python versions 2.6, 2.7, 3.3, 3.4, and 3.5
* PyPy 2.4, 2.6, and 4.0
@@ -63,11 +66,17 @@ not.
.. ifconfig:: prerelease
- The latest version is coverage.py 4.0b2, released 22 August 2015.
- It is supported on Python versions 2.6, 2.7, 3.3, 3.4, and 3.5c1, as well
- as PyPy 2.4 and 2.6, and PyPy3 2.4.
- **This is a pre-release build. The usual warnings about possible bugs apply.**
- The latest stable version is coverage.py 3.7.1, `described here`_.
+ The latest version is coverage.py 4.1b2, released January 23rd, 2016. It
+ is supported on:
+
+ * Python versions 2.6, 2.7, 3.3, 3.4, and 3.5.
+
+ * PyPy 2.4, 2.6, and 4.0
+
+ * PyPy3 2.4.
+
+ **This is a pre-release build. The usual warnings about possible bugs
+ apply.** The latest stable version is coverage.py 4.0.3, `described here`_.
.. _described here: http://nedbatchelder.com/code/coverage
diff --git a/doc/requirements.pip b/doc/requirements.pip
index 968313ef..4738f472 100644
--- a/doc/requirements.pip
+++ b/doc/requirements.pip
@@ -3,5 +3,5 @@
# https://requires.io/github/nedbat/coveragepy/requirements/
pyenchant==1.6.6
-sphinx==1.3.1
+sphinx==1.3.5
sphinxcontrib-spelling==2.1.2
diff --git a/doc/sample_html/cogapp___init___py.html b/doc/sample_html/cogapp___init___py.html
index 230f2166..4003d77a 100644
--- a/doc/sample_html/cogapp___init___py.html
+++ b/doc/sample_html/cogapp___init___py.html
@@ -99,8 +99,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp___main___py.html b/doc/sample_html/cogapp___main___py.html
index 2f1d82c0..c805cbee 100644
--- a/doc/sample_html/cogapp___main___py.html
+++ b/doc/sample_html/cogapp___main___py.html
@@ -91,8 +91,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_backward_py.html b/doc/sample_html/cogapp_backward_py.html
index eda8764f..c0eb8cc2 100644
--- a/doc/sample_html/cogapp_backward_py.html
+++ b/doc/sample_html/cogapp_backward_py.html
@@ -133,8 +133,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_cogapp_py.html b/doc/sample_html/cogapp_cogapp_py.html
index c7b99af3..26c6df75 100644
--- a/doc/sample_html/cogapp_cogapp_py.html
+++ b/doc/sample_html/cogapp_cogapp_py.html
@@ -8,7 +8,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
- <title>Coverage for cogapp/cogapp.py: 98.82%</title>
+ <title>Coverage for cogapp/cogapp.py: 47.88%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
@@ -24,19 +24,19 @@
<div id="header">
<div class="content">
<h1>Coverage for <b>cogapp/cogapp.py</b> :
- <span class="pc_cov">98.82%</span>
+ <span class="pc_cov">47.88%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
423 statements &nbsp;
- <span class="run hide_run shortkey_r button_toggle_run">420 run</span>
- <span class="mis shortkey_m button_toggle_mis">3 missing</span>
+ <span class="run hide_run shortkey_r button_toggle_run">229 run</span>
+ <span class="mis shortkey_m button_toggle_mis">194 missing</span>
<span class="exc shortkey_x button_toggle_exc">4 excluded</span>
- <span class="par run hide_run shortkey_p button_toggle_par">4 partial</span>
+ <span class="par run hide_run shortkey_p button_toggle_par">26 partial</span>
</h2>
</div>
@@ -126,10 +126,10 @@
<p id="n55" class="pln"><a href="#n55">55</a></p>
<p id="n56" class="pln"><a href="#n56">56</a></p>
<p id="n57" class="stm run hide_run"><a href="#n57">57</a></p>
-<p id="n58" class="stm run hide_run"><a href="#n58">58</a></p>
+<p id="n58" class="stm par run hide_run"><a href="#n58">58</a></p>
<p id="n59" class="stm run hide_run"><a href="#n59">59</a></p>
<p id="n60" class="pln"><a href="#n60">60</a></p>
-<p id="n61" class="stm run hide_run"><a href="#n61">61</a></p>
+<p id="n61" class="stm mis"><a href="#n61">61</a></p>
<p id="n62" class="pln"><a href="#n62">62</a></p>
<p id="n63" class="stm run hide_run"><a href="#n63">63</a></p>
<p id="n64" class="pln"><a href="#n64">64</a></p>
@@ -156,16 +156,16 @@
<p id="n85" class="stm run hide_run"><a href="#n85">85</a></p>
<p id="n86" class="pln"><a href="#n86">86</a></p>
<p id="n87" class="pln"><a href="#n87">87</a></p>
-<p id="n88" class="stm run hide_run"><a href="#n88">88</a></p>
+<p id="n88" class="stm par run hide_run"><a href="#n88">88</a></p>
<p id="n89" class="stm run hide_run"><a href="#n89">89</a></p>
-<p id="n90" class="stm run hide_run"><a href="#n90">90</a></p>
-<p id="n91" class="stm run hide_run"><a href="#n91">91</a></p>
+<p id="n90" class="stm par run hide_run"><a href="#n90">90</a></p>
+<p id="n91" class="stm mis"><a href="#n91">91</a></p>
<p id="n92" class="pln"><a href="#n92">92</a></p>
<p id="n93" class="stm run hide_run"><a href="#n93">93</a></p>
-<p id="n94" class="stm run hide_run"><a href="#n94">94</a></p>
+<p id="n94" class="stm mis"><a href="#n94">94</a></p>
<p id="n95" class="pln"><a href="#n95">95</a></p>
<p id="n96" class="stm run hide_run"><a href="#n96">96</a></p>
-<p id="n97" class="stm run hide_run"><a href="#n97">97</a></p>
+<p id="n97" class="stm mis"><a href="#n97">97</a></p>
<p id="n98" class="pln"><a href="#n98">98</a></p>
<p id="n99" class="pln"><a href="#n99">99</a></p>
<p id="n100" class="stm run hide_run"><a href="#n100">100</a></p>
@@ -225,7 +225,7 @@
<p id="n154" class="stm run hide_run"><a href="#n154">154</a></p>
<p id="n155" class="pln"><a href="#n155">155</a></p>
<p id="n156" class="stm run hide_run"><a href="#n156">156</a></p>
-<p id="n157" class="stm run hide_run"><a href="#n157">157</a></p>
+<p id="n157" class="stm mis"><a href="#n157">157</a></p>
<p id="n158" class="pln"><a href="#n158">158</a></p>
<p id="n159" class="stm run hide_run"><a href="#n159">159</a></p>
<p id="n160" class="pln"><a href="#n160">160</a></p>
@@ -253,7 +253,7 @@
<p id="n182" class="pln"><a href="#n182">182</a></p>
<p id="n183" class="pln"><a href="#n183">183</a></p>
<p id="n184" class="pln"><a href="#n184">184</a></p>
-<p id="n185" class="stm run hide_run"><a href="#n185">185</a></p>
+<p id="n185" class="stm mis"><a href="#n185">185</a></p>
<p id="n186" class="pln"><a href="#n186">186</a></p>
<p id="n187" class="pln"><a href="#n187">187</a></p>
<p id="n188" class="stm run hide_run"><a href="#n188">188</a></p>
@@ -301,23 +301,23 @@
<p id="n230" class="stm run hide_run"><a href="#n230">230</a></p>
<p id="n231" class="pln"><a href="#n231">231</a></p>
<p id="n232" class="pln"><a href="#n232">232</a></p>
-<p id="n233" class="stm run hide_run"><a href="#n233">233</a></p>
+<p id="n233" class="stm mis"><a href="#n233">233</a></p>
<p id="n234" class="pln"><a href="#n234">234</a></p>
<p id="n235" class="stm run hide_run"><a href="#n235">235</a></p>
<p id="n236" class="pln"><a href="#n236">236</a></p>
<p id="n237" class="pln"><a href="#n237">237</a></p>
-<p id="n238" class="stm run hide_run"><a href="#n238">238</a></p>
+<p id="n238" class="stm mis"><a href="#n238">238</a></p>
<p id="n239" class="pln"><a href="#n239">239</a></p>
<p id="n240" class="stm run hide_run"><a href="#n240">240</a></p>
<p id="n241" class="pln"><a href="#n241">241</a></p>
<p id="n242" class="pln"><a href="#n242">242</a></p>
-<p id="n243" class="stm run hide_run"><a href="#n243">243</a></p>
-<p id="n244" class="stm run hide_run"><a href="#n244">244</a></p>
+<p id="n243" class="stm mis"><a href="#n243">243</a></p>
+<p id="n244" class="stm mis"><a href="#n244">244</a></p>
<p id="n245" class="pln"><a href="#n245">245</a></p>
<p id="n246" class="stm run hide_run"><a href="#n246">246</a></p>
<p id="n247" class="pln"><a href="#n247">247</a></p>
-<p id="n248" class="stm run hide_run"><a href="#n248">248</a></p>
-<p id="n249" class="stm run hide_run"><a href="#n249">249</a></p>
+<p id="n248" class="stm mis"><a href="#n248">248</a></p>
+<p id="n249" class="stm mis"><a href="#n249">249</a></p>
<p id="n250" class="pln"><a href="#n250">250</a></p>
<p id="n251" class="pln"><a href="#n251">251</a></p>
<p id="n252" class="pln"><a href="#n252">252</a></p>
@@ -325,67 +325,67 @@
<p id="n254" class="pln"><a href="#n254">254</a></p>
<p id="n255" class="pln"><a href="#n255">255</a></p>
<p id="n256" class="pln"><a href="#n256">256</a></p>
-<p id="n257" class="stm run hide_run"><a href="#n257">257</a></p>
-<p id="n258" class="stm run hide_run"><a href="#n258">258</a></p>
+<p id="n257" class="stm mis"><a href="#n257">257</a></p>
+<p id="n258" class="stm mis"><a href="#n258">258</a></p>
<p id="n259" class="pln"><a href="#n259">259</a></p>
<p id="n260" class="pln"><a href="#n260">260</a></p>
-<p id="n261" class="stm run hide_run"><a href="#n261">261</a></p>
-<p id="n262" class="stm run hide_run"><a href="#n262">262</a></p>
-<p id="n263" class="stm run hide_run"><a href="#n263">263</a></p>
-<p id="n264" class="stm run hide_run"><a href="#n264">264</a></p>
-<p id="n265" class="stm run hide_run"><a href="#n265">265</a></p>
-<p id="n266" class="stm run hide_run"><a href="#n266">266</a></p>
-<p id="n267" class="stm run hide_run"><a href="#n267">267</a></p>
-<p id="n268" class="stm run hide_run"><a href="#n268">268</a></p>
-<p id="n269" class="stm run hide_run"><a href="#n269">269</a></p>
-<p id="n270" class="stm run hide_run"><a href="#n270">270</a></p>
-<p id="n271" class="stm run hide_run"><a href="#n271">271</a></p>
-<p id="n272" class="stm run hide_run"><a href="#n272">272</a></p>
-<p id="n273" class="stm run hide_run"><a href="#n273">273</a></p>
-<p id="n274" class="stm run hide_run"><a href="#n274">274</a></p>
-<p id="n275" class="stm run hide_run"><a href="#n275">275</a></p>
-<p id="n276" class="stm run hide_run"><a href="#n276">276</a></p>
-<p id="n277" class="stm run hide_run"><a href="#n277">277</a></p>
-<p id="n278" class="stm run hide_run"><a href="#n278">278</a></p>
-<p id="n279" class="stm run hide_run"><a href="#n279">279</a></p>
-<p id="n280" class="stm run hide_run"><a href="#n280">280</a></p>
-<p id="n281" class="stm run hide_run"><a href="#n281">281</a></p>
-<p id="n282" class="stm run hide_run"><a href="#n282">282</a></p>
-<p id="n283" class="stm run hide_run"><a href="#n283">283</a></p>
-<p id="n284" class="stm run hide_run"><a href="#n284">284</a></p>
-<p id="n285" class="stm run hide_run"><a href="#n285">285</a></p>
-<p id="n286" class="stm run hide_run"><a href="#n286">286</a></p>
-<p id="n287" class="stm run hide_run"><a href="#n287">287</a></p>
-<p id="n288" class="stm run hide_run"><a href="#n288">288</a></p>
-<p id="n289" class="stm run hide_run"><a href="#n289">289</a></p>
-<p id="n290" class="stm run hide_run"><a href="#n290">290</a></p>
-<p id="n291" class="stm run hide_run"><a href="#n291">291</a></p>
-<p id="n292" class="stm run hide_run"><a href="#n292">292</a></p>
-<p id="n293" class="stm run hide_run"><a href="#n293">293</a></p>
-<p id="n294" class="stm run hide_run"><a href="#n294">294</a></p>
-<p id="n295" class="stm run hide_run"><a href="#n295">295</a></p>
-<p id="n296" class="stm run hide_run"><a href="#n296">296</a></p>
+<p id="n261" class="stm mis"><a href="#n261">261</a></p>
+<p id="n262" class="stm mis"><a href="#n262">262</a></p>
+<p id="n263" class="stm mis"><a href="#n263">263</a></p>
+<p id="n264" class="stm mis"><a href="#n264">264</a></p>
+<p id="n265" class="stm mis"><a href="#n265">265</a></p>
+<p id="n266" class="stm mis"><a href="#n266">266</a></p>
+<p id="n267" class="stm mis"><a href="#n267">267</a></p>
+<p id="n268" class="stm mis"><a href="#n268">268</a></p>
+<p id="n269" class="stm mis"><a href="#n269">269</a></p>
+<p id="n270" class="stm mis"><a href="#n270">270</a></p>
+<p id="n271" class="stm mis"><a href="#n271">271</a></p>
+<p id="n272" class="stm mis"><a href="#n272">272</a></p>
+<p id="n273" class="stm mis"><a href="#n273">273</a></p>
+<p id="n274" class="stm mis"><a href="#n274">274</a></p>
+<p id="n275" class="stm mis"><a href="#n275">275</a></p>
+<p id="n276" class="stm mis"><a href="#n276">276</a></p>
+<p id="n277" class="stm mis"><a href="#n277">277</a></p>
+<p id="n278" class="stm mis"><a href="#n278">278</a></p>
+<p id="n279" class="stm mis"><a href="#n279">279</a></p>
+<p id="n280" class="stm mis"><a href="#n280">280</a></p>
+<p id="n281" class="stm mis"><a href="#n281">281</a></p>
+<p id="n282" class="stm mis"><a href="#n282">282</a></p>
+<p id="n283" class="stm mis"><a href="#n283">283</a></p>
+<p id="n284" class="stm mis"><a href="#n284">284</a></p>
+<p id="n285" class="stm mis"><a href="#n285">285</a></p>
+<p id="n286" class="stm mis"><a href="#n286">286</a></p>
+<p id="n287" class="stm mis"><a href="#n287">287</a></p>
+<p id="n288" class="stm mis"><a href="#n288">288</a></p>
+<p id="n289" class="stm mis"><a href="#n289">289</a></p>
+<p id="n290" class="stm mis"><a href="#n290">290</a></p>
+<p id="n291" class="stm mis"><a href="#n291">291</a></p>
+<p id="n292" class="stm mis"><a href="#n292">292</a></p>
+<p id="n293" class="stm mis"><a href="#n293">293</a></p>
+<p id="n294" class="stm mis"><a href="#n294">294</a></p>
+<p id="n295" class="stm mis"><a href="#n295">295</a></p>
+<p id="n296" class="stm mis"><a href="#n296">296</a></p>
<p id="n297" class="pln"><a href="#n297">297</a></p>
<p id="n298" class="pln"><a href="#n298">298</a></p>
<p id="n299" class="pln"><a href="#n299">299</a></p>
<p id="n300" class="exc"><a href="#n300">300</a></p>
<p id="n301" class="pln"><a href="#n301">301</a></p>
<p id="n302" class="stm run hide_run"><a href="#n302">302</a></p>
-<p id="n303" class="stm run hide_run"><a href="#n303">303</a></p>
-<p id="n304" class="stm run hide_run"><a href="#n304">304</a></p>
-<p id="n305" class="stm run hide_run"><a href="#n305">305</a></p>
-<p id="n306" class="stm run hide_run"><a href="#n306">306</a></p>
+<p id="n303" class="stm mis"><a href="#n303">303</a></p>
+<p id="n304" class="stm mis"><a href="#n304">304</a></p>
+<p id="n305" class="stm mis"><a href="#n305">305</a></p>
+<p id="n306" class="stm mis"><a href="#n306">306</a></p>
<p id="n307" class="pln"><a href="#n307">307</a></p>
<p id="n308" class="pln"><a href="#n308">308</a></p>
<p id="n309" class="pln"><a href="#n309">309</a></p>
<p id="n310" class="stm run hide_run"><a href="#n310">310</a></p>
<p id="n311" class="pln"><a href="#n311">311</a></p>
<p id="n312" class="pln"><a href="#n312">312</a></p>
-<p id="n313" class="stm run hide_run"><a href="#n313">313</a></p>
-<p id="n314" class="stm run hide_run"><a href="#n314">314</a></p>
+<p id="n313" class="stm mis"><a href="#n313">313</a></p>
+<p id="n314" class="stm mis"><a href="#n314">314</a></p>
<p id="n315" class="pln"><a href="#n315">315</a></p>
-<p id="n316" class="stm run hide_run"><a href="#n316">316</a></p>
-<p id="n317" class="stm run hide_run"><a href="#n317">317</a></p>
+<p id="n316" class="stm mis"><a href="#n316">316</a></p>
+<p id="n317" class="stm mis"><a href="#n317">317</a></p>
<p id="n318" class="pln"><a href="#n318">318</a></p>
<p id="n319" class="pln"><a href="#n319">319</a></p>
<p id="n320" class="stm run hide_run"><a href="#n320">320</a></p>
@@ -403,7 +403,7 @@
<p id="n332" class="stm run hide_run"><a href="#n332">332</a></p>
<p id="n333" class="pln"><a href="#n333">333</a></p>
<p id="n334" class="stm run hide_run"><a href="#n334">334</a></p>
-<p id="n335" class="stm run hide_run"><a href="#n335">335</a></p>
+<p id="n335" class="stm mis"><a href="#n335">335</a></p>
<p id="n336" class="pln"><a href="#n336">336</a></p>
<p id="n337" class="stm run hide_run"><a href="#n337">337</a></p>
<p id="n338" class="stm run hide_run"><a href="#n338">338</a></p>
@@ -425,26 +425,26 @@
<p id="n354" class="stm run hide_run"><a href="#n354">354</a></p>
<p id="n355" class="pln"><a href="#n355">355</a></p>
<p id="n356" class="pln"><a href="#n356">356</a></p>
-<p id="n357" class="stm run hide_run"><a href="#n357">357</a></p>
-<p id="n358" class="stm run hide_run"><a href="#n358">358</a></p>
-<p id="n359" class="stm par run hide_run"><a href="#n359">359</a></p>
+<p id="n357" class="stm mis"><a href="#n357">357</a></p>
+<p id="n358" class="stm mis"><a href="#n358">358</a></p>
+<p id="n359" class="stm mis"><a href="#n359">359</a></p>
<p id="n360" class="stm mis"><a href="#n360">360</a></p>
-<p id="n361" class="stm run hide_run"><a href="#n361">361</a></p>
-<p id="n362" class="stm par run hide_run"><a href="#n362">362</a></p>
+<p id="n361" class="stm mis"><a href="#n361">361</a></p>
+<p id="n362" class="stm mis"><a href="#n362">362</a></p>
<p id="n363" class="stm mis"><a href="#n363">363</a></p>
<p id="n364" class="pln"><a href="#n364">364</a></p>
-<p id="n365" class="stm run hide_run"><a href="#n365">365</a></p>
-<p id="n366" class="stm run hide_run"><a href="#n366">366</a></p>
+<p id="n365" class="stm mis"><a href="#n365">365</a></p>
+<p id="n366" class="stm mis"><a href="#n366">366</a></p>
<p id="n367" class="pln"><a href="#n367">367</a></p>
<p id="n368" class="stm run hide_run"><a href="#n368">368</a></p>
<p id="n369" class="pln"><a href="#n369">369</a></p>
-<p id="n370" class="stm run hide_run"><a href="#n370">370</a></p>
-<p id="n371" class="stm run hide_run"><a href="#n371">371</a></p>
+<p id="n370" class="stm mis"><a href="#n370">370</a></p>
+<p id="n371" class="stm mis"><a href="#n371">371</a></p>
<p id="n372" class="pln"><a href="#n372">372</a></p>
-<p id="n373" class="stm run hide_run"><a href="#n373">373</a></p>
-<p id="n374" class="stm par run hide_run"><a href="#n374">374</a></p>
+<p id="n373" class="stm mis"><a href="#n373">373</a></p>
+<p id="n374" class="stm mis"><a href="#n374">374</a></p>
<p id="n375" class="stm mis"><a href="#n375">375</a></p>
-<p id="n376" class="stm run hide_run"><a href="#n376">376</a></p>
+<p id="n376" class="stm mis"><a href="#n376">376</a></p>
<p id="n377" class="pln"><a href="#n377">377</a></p>
<p id="n378" class="stm run hide_run"><a href="#n378">378</a></p>
<p id="n379" class="pln"><a href="#n379">379</a></p>
@@ -455,14 +455,14 @@
<p id="n384" class="stm run hide_run"><a href="#n384">384</a></p>
<p id="n385" class="stm run hide_run"><a href="#n385">385</a></p>
<p id="n386" class="pln"><a href="#n386">386</a></p>
-<p id="n387" class="stm run hide_run"><a href="#n387">387</a></p>
+<p id="n387" class="stm par run hide_run"><a href="#n387">387</a></p>
<p id="n388" class="pln"><a href="#n388">388</a></p>
-<p id="n389" class="stm run hide_run"><a href="#n389">389</a></p>
-<p id="n390" class="stm run hide_run"><a href="#n390">390</a></p>
-<p id="n391" class="stm run hide_run"><a href="#n391">391</a></p>
+<p id="n389" class="stm mis"><a href="#n389">389</a></p>
+<p id="n390" class="stm mis"><a href="#n390">390</a></p>
+<p id="n391" class="stm par run hide_run"><a href="#n391">391</a></p>
<p id="n392" class="pln"><a href="#n392">392</a></p>
-<p id="n393" class="stm run hide_run"><a href="#n393">393</a></p>
-<p id="n394" class="stm run hide_run"><a href="#n394">394</a></p>
+<p id="n393" class="stm mis"><a href="#n393">393</a></p>
+<p id="n394" class="stm mis"><a href="#n394">394</a></p>
<p id="n395" class="pln"><a href="#n395">395</a></p>
<p id="n396" class="stm run hide_run"><a href="#n396">396</a></p>
<p id="n397" class="stm run hide_run"><a href="#n397">397</a></p>
@@ -473,7 +473,7 @@
<p id="n402" class="stm run hide_run"><a href="#n402">402</a></p>
<p id="n403" class="pln"><a href="#n403">403</a></p>
<p id="n404" class="pln"><a href="#n404">404</a></p>
-<p id="n405" class="stm run hide_run"><a href="#n405">405</a></p>
+<p id="n405" class="stm par run hide_run"><a href="#n405">405</a></p>
<p id="n406" class="stm run hide_run"><a href="#n406">406</a></p>
<p id="n407" class="pln"><a href="#n407">407</a></p>
<p id="n408" class="pln"><a href="#n408">408</a></p>
@@ -484,17 +484,17 @@
<p id="n413" class="stm run hide_run"><a href="#n413">413</a></p>
<p id="n414" class="pln"><a href="#n414">414</a></p>
<p id="n415" class="stm run hide_run"><a href="#n415">415</a></p>
-<p id="n416" class="stm run hide_run"><a href="#n416">416</a></p>
-<p id="n417" class="stm run hide_run"><a href="#n417">417</a></p>
+<p id="n416" class="stm par run hide_run"><a href="#n416">416</a></p>
+<p id="n417" class="stm mis"><a href="#n417">417</a></p>
<p id="n418" class="pln"><a href="#n418">418</a></p>
-<p id="n419" class="stm run hide_run"><a href="#n419">419</a></p>
-<p id="n420" class="stm run hide_run"><a href="#n420">420</a></p>
+<p id="n419" class="stm par run hide_run"><a href="#n419">419</a></p>
+<p id="n420" class="stm mis"><a href="#n420">420</a></p>
<p id="n421" class="pln"><a href="#n421">421</a></p>
<p id="n422" class="stm run hide_run"><a href="#n422">422</a></p>
<p id="n423" class="stm run hide_run"><a href="#n423">423</a></p>
<p id="n424" class="stm run hide_run"><a href="#n424">424</a></p>
<p id="n425" class="stm run hide_run"><a href="#n425">425</a></p>
-<p id="n426" class="stm run hide_run"><a href="#n426">426</a></p>
+<p id="n426" class="stm par run hide_run"><a href="#n426">426</a></p>
<p id="n427" class="stm run hide_run"><a href="#n427">427</a></p>
<p id="n428" class="pln"><a href="#n428">428</a></p>
<p id="n429" class="pln"><a href="#n429">429</a></p>
@@ -521,22 +521,22 @@
<p id="n450" class="pln"><a href="#n450">450</a></p>
<p id="n451" class="pln"><a href="#n451">451</a></p>
<p id="n452" class="stm run hide_run"><a href="#n452">452</a></p>
-<p id="n453" class="stm run hide_run"><a href="#n453">453</a></p>
-<p id="n454" class="stm run hide_run"><a href="#n454">454</a></p>
+<p id="n453" class="stm par run hide_run"><a href="#n453">453</a></p>
+<p id="n454" class="stm mis"><a href="#n454">454</a></p>
<p id="n455" class="pln"><a href="#n455">455</a></p>
-<p id="n456" class="stm run hide_run"><a href="#n456">456</a></p>
-<p id="n457" class="stm run hide_run"><a href="#n457">457</a></p>
+<p id="n456" class="stm par run hide_run"><a href="#n456">456</a></p>
+<p id="n457" class="stm mis"><a href="#n457">457</a></p>
<p id="n458" class="pln"><a href="#n458">458</a></p>
-<p id="n459" class="stm run hide_run"><a href="#n459">459</a></p>
+<p id="n459" class="stm par run hide_run"><a href="#n459">459</a></p>
<p id="n460" class="stm run hide_run"><a href="#n460">460</a></p>
<p id="n461" class="stm run hide_run"><a href="#n461">461</a></p>
<p id="n462" class="stm run hide_run"><a href="#n462">462</a></p>
-<p id="n463" class="stm run hide_run"><a href="#n463">463</a></p>
-<p id="n464" class="stm run hide_run"><a href="#n464">464</a></p>
+<p id="n463" class="stm par run hide_run"><a href="#n463">463</a></p>
+<p id="n464" class="stm mis"><a href="#n464">464</a></p>
<p id="n465" class="pln"><a href="#n465">465</a></p>
<p id="n466" class="pln"><a href="#n466">466</a></p>
<p id="n467" class="pln"><a href="#n467">467</a></p>
-<p id="n468" class="stm run hide_run"><a href="#n468">468</a></p>
+<p id="n468" class="stm par run hide_run"><a href="#n468">468</a></p>
<p id="n469" class="stm run hide_run"><a href="#n469">469</a></p>
<p id="n470" class="stm run hide_run"><a href="#n470">470</a></p>
<p id="n471" class="pln"><a href="#n471">471</a></p>
@@ -547,20 +547,20 @@
<p id="n476" class="stm run hide_run"><a href="#n476">476</a></p>
<p id="n477" class="stm run hide_run"><a href="#n477">477</a></p>
<p id="n478" class="stm run hide_run"><a href="#n478">478</a></p>
-<p id="n479" class="stm run hide_run"><a href="#n479">479</a></p>
-<p id="n480" class="stm run hide_run"><a href="#n480">480</a></p>
+<p id="n479" class="stm par run hide_run"><a href="#n479">479</a></p>
+<p id="n480" class="stm mis"><a href="#n480">480</a></p>
<p id="n481" class="pln"><a href="#n481">481</a></p>
-<p id="n482" class="stm run hide_run"><a href="#n482">482</a></p>
-<p id="n483" class="stm run hide_run"><a href="#n483">483</a></p>
+<p id="n482" class="stm par run hide_run"><a href="#n482">482</a></p>
+<p id="n483" class="stm mis"><a href="#n483">483</a></p>
<p id="n484" class="pln"><a href="#n484">484</a></p>
<p id="n485" class="stm run hide_run"><a href="#n485">485</a></p>
<p id="n486" class="stm run hide_run"><a href="#n486">486</a></p>
<p id="n487" class="stm run hide_run"><a href="#n487">487</a></p>
<p id="n488" class="stm run hide_run"><a href="#n488">488</a></p>
<p id="n489" class="pln"><a href="#n489">489</a></p>
-<p id="n490" class="stm run hide_run"><a href="#n490">490</a></p>
+<p id="n490" class="stm par run hide_run"><a href="#n490">490</a></p>
<p id="n491" class="pln"><a href="#n491">491</a></p>
-<p id="n492" class="stm run hide_run"><a href="#n492">492</a></p>
+<p id="n492" class="stm mis"><a href="#n492">492</a></p>
<p id="n493" class="pln"><a href="#n493">493</a></p>
<p id="n494" class="pln"><a href="#n494">494</a></p>
<p id="n495" class="pln"><a href="#n495">495</a></p>
@@ -569,7 +569,7 @@
<p id="n498" class="pln"><a href="#n498">498</a></p>
<p id="n499" class="pln"><a href="#n499">499</a></p>
<p id="n500" class="stm run hide_run"><a href="#n500">500</a></p>
-<p id="n501" class="stm run hide_run"><a href="#n501">501</a></p>
+<p id="n501" class="stm par run hide_run"><a href="#n501">501</a></p>
<p id="n502" class="stm run hide_run"><a href="#n502">502</a></p>
<p id="n503" class="stm run hide_run"><a href="#n503">503</a></p>
<p id="n504" class="stm run hide_run"><a href="#n504">504</a></p>
@@ -581,35 +581,35 @@
<p id="n510" class="pln"><a href="#n510">510</a></p>
<p id="n511" class="pln"><a href="#n511">511</a></p>
<p id="n512" class="stm run hide_run"><a href="#n512">512</a></p>
-<p id="n513" class="stm run hide_run"><a href="#n513">513</a></p>
-<p id="n514" class="stm run hide_run"><a href="#n514">514</a></p>
-<p id="n515" class="stm run hide_run"><a href="#n515">515</a></p>
-<p id="n516" class="stm run hide_run"><a href="#n516">516</a></p>
-<p id="n517" class="stm run hide_run"><a href="#n517">517</a></p>
+<p id="n513" class="stm par run hide_run"><a href="#n513">513</a></p>
+<p id="n514" class="stm mis"><a href="#n514">514</a></p>
+<p id="n515" class="stm mis"><a href="#n515">515</a></p>
+<p id="n516" class="stm mis"><a href="#n516">516</a></p>
+<p id="n517" class="stm mis"><a href="#n517">517</a></p>
<p id="n518" class="pln"><a href="#n518">518</a></p>
<p id="n519" class="pln"><a href="#n519">519</a></p>
-<p id="n520" class="stm run hide_run"><a href="#n520">520</a></p>
+<p id="n520" class="stm mis"><a href="#n520">520</a></p>
<p id="n521" class="pln"><a href="#n521">521</a></p>
<p id="n522" class="pln"><a href="#n522">522</a></p>
-<p id="n523" class="stm run hide_run"><a href="#n523">523</a></p>
-<p id="n524" class="stm run hide_run"><a href="#n524">524</a></p>
+<p id="n523" class="stm mis"><a href="#n523">523</a></p>
+<p id="n524" class="stm mis"><a href="#n524">524</a></p>
<p id="n525" class="pln"><a href="#n525">525</a></p>
<p id="n526" class="pln"><a href="#n526">526</a></p>
<p id="n527" class="pln"><a href="#n527">527</a></p>
-<p id="n528" class="stm run hide_run"><a href="#n528">528</a></p>
-<p id="n529" class="stm run hide_run"><a href="#n529">529</a></p>
+<p id="n528" class="stm par run hide_run"><a href="#n528">528</a></p>
+<p id="n529" class="stm mis"><a href="#n529">529</a></p>
<p id="n530" class="pln"><a href="#n530">530</a></p>
-<p id="n531" class="stm run hide_run"><a href="#n531">531</a></p>
+<p id="n531" class="stm par run hide_run"><a href="#n531">531</a></p>
<p id="n532" class="stm run hide_run"><a href="#n532">532</a></p>
<p id="n533" class="stm run hide_run"><a href="#n533">533</a></p>
<p id="n534" class="pln"><a href="#n534">534</a></p>
-<p id="n535" class="stm run hide_run"><a href="#n535">535</a></p>
-<p id="n536" class="stm run hide_run"><a href="#n536">536</a></p>
+<p id="n535" class="stm par run hide_run"><a href="#n535">535</a></p>
+<p id="n536" class="stm mis"><a href="#n536">536</a></p>
<p id="n537" class="pln"><a href="#n537">537</a></p>
-<p id="n538" class="stm run hide_run"><a href="#n538">538</a></p>
-<p id="n539" class="stm run hide_run"><a href="#n539">539</a></p>
-<p id="n540" class="stm run hide_run"><a href="#n540">540</a></p>
-<p id="n541" class="stm run hide_run"><a href="#n541">541</a></p>
+<p id="n538" class="stm par run hide_run"><a href="#n538">538</a></p>
+<p id="n539" class="stm mis"><a href="#n539">539</a></p>
+<p id="n540" class="stm par run hide_run"><a href="#n540">540</a></p>
+<p id="n541" class="stm mis"><a href="#n541">541</a></p>
<p id="n542" class="pln"><a href="#n542">542</a></p>
<p id="n543" class="pln"><a href="#n543">543</a></p>
<p id="n544" class="pln"><a href="#n544">544</a></p>
@@ -619,10 +619,10 @@
<p id="n548" class="pln"><a href="#n548">548</a></p>
<p id="n549" class="pln"><a href="#n549">549</a></p>
<p id="n550" class="pln"><a href="#n550">550</a></p>
-<p id="n551" class="stm run hide_run"><a href="#n551">551</a></p>
+<p id="n551" class="stm par run hide_run"><a href="#n551">551</a></p>
<p id="n552" class="pln"><a href="#n552">552</a></p>
-<p id="n553" class="stm run hide_run"><a href="#n553">553</a></p>
-<p id="n554" class="stm run hide_run"><a href="#n554">554</a></p>
+<p id="n553" class="stm mis"><a href="#n553">553</a></p>
+<p id="n554" class="stm mis"><a href="#n554">554</a></p>
<p id="n555" class="stm run hide_run"><a href="#n555">555</a></p>
<p id="n556" class="pln"><a href="#n556">556</a></p>
<p id="n557" class="stm run hide_run"><a href="#n557">557</a></p>
@@ -637,162 +637,162 @@
<p id="n566" class="stm run hide_run"><a href="#n566">566</a></p>
<p id="n567" class="pln"><a href="#n567">567</a></p>
<p id="n568" class="pln"><a href="#n568">568</a></p>
-<p id="n569" class="stm run hide_run"><a href="#n569">569</a></p>
+<p id="n569" class="stm mis"><a href="#n569">569</a></p>
<p id="n570" class="pln"><a href="#n570">570</a></p>
-<p id="n571" class="stm run hide_run"><a href="#n571">571</a></p>
+<p id="n571" class="stm mis"><a href="#n571">571</a></p>
<p id="n572" class="pln"><a href="#n572">572</a></p>
-<p id="n573" class="stm run hide_run"><a href="#n573">573</a></p>
-<p id="n574" class="stm run hide_run"><a href="#n574">574</a></p>
-<p id="n575" class="stm run hide_run"><a href="#n575">575</a></p>
-<p id="n576" class="stm run hide_run"><a href="#n576">576</a></p>
+<p id="n573" class="stm mis"><a href="#n573">573</a></p>
+<p id="n574" class="stm mis"><a href="#n574">574</a></p>
+<p id="n575" class="stm mis"><a href="#n575">575</a></p>
+<p id="n576" class="stm mis"><a href="#n576">576</a></p>
<p id="n577" class="pln"><a href="#n577">577</a></p>
<p id="n578" class="pln"><a href="#n578">578</a></p>
-<p id="n579" class="stm run hide_run"><a href="#n579">579</a></p>
-<p id="n580" class="stm run hide_run"><a href="#n580">580</a></p>
-<p id="n581" class="stm run hide_run"><a href="#n581">581</a></p>
-<p id="n582" class="stm run hide_run"><a href="#n582">582</a></p>
+<p id="n579" class="stm mis"><a href="#n579">579</a></p>
+<p id="n580" class="stm mis"><a href="#n580">580</a></p>
+<p id="n581" class="stm mis"><a href="#n581">581</a></p>
+<p id="n582" class="stm mis"><a href="#n582">582</a></p>
<p id="n583" class="pln"><a href="#n583">583</a></p>
<p id="n584" class="stm run hide_run"><a href="#n584">584</a></p>
-<p id="n585" class="stm run hide_run"><a href="#n585">585</a></p>
-<p id="n586" class="stm run hide_run"><a href="#n586">586</a></p>
+<p id="n585" class="stm mis"><a href="#n585">585</a></p>
+<p id="n586" class="stm mis"><a href="#n586">586</a></p>
<p id="n587" class="pln"><a href="#n587">587</a></p>
<p id="n588" class="stm run hide_run"><a href="#n588">588</a></p>
-<p id="n589" class="stm run hide_run"><a href="#n589">589</a></p>
-<p id="n590" class="stm run hide_run"><a href="#n590">590</a></p>
-<p id="n591" class="stm run hide_run"><a href="#n591">591</a></p>
+<p id="n589" class="stm mis"><a href="#n589">589</a></p>
+<p id="n590" class="stm mis"><a href="#n590">590</a></p>
+<p id="n591" class="stm mis"><a href="#n591">591</a></p>
<p id="n592" class="pln"><a href="#n592">592</a></p>
<p id="n593" class="stm run hide_run"><a href="#n593">593</a></p>
-<p id="n594" class="stm run hide_run"><a href="#n594">594</a></p>
-<p id="n595" class="stm run hide_run"><a href="#n595">595</a></p>
+<p id="n594" class="stm mis"><a href="#n594">594</a></p>
+<p id="n595" class="stm mis"><a href="#n595">595</a></p>
<p id="n596" class="pln"><a href="#n596">596</a></p>
<p id="n597" class="stm run hide_run"><a href="#n597">597</a></p>
<p id="n598" class="pln"><a href="#n598">598</a></p>
<p id="n599" class="pln"><a href="#n599">599</a></p>
<p id="n600" class="pln"><a href="#n600">600</a></p>
-<p id="n601" class="stm run hide_run"><a href="#n601">601</a></p>
-<p id="n602" class="stm run hide_run"><a href="#n602">602</a></p>
+<p id="n601" class="stm mis"><a href="#n601">601</a></p>
+<p id="n602" class="stm mis"><a href="#n602">602</a></p>
<p id="n603" class="pln"><a href="#n603">603</a></p>
-<p id="n604" class="stm run hide_run"><a href="#n604">604</a></p>
-<p id="n605" class="stm run hide_run"><a href="#n605">605</a></p>
+<p id="n604" class="stm mis"><a href="#n604">604</a></p>
+<p id="n605" class="stm mis"><a href="#n605">605</a></p>
<p id="n606" class="pln"><a href="#n606">606</a></p>
<p id="n607" class="pln"><a href="#n607">607</a></p>
-<p id="n608" class="stm run hide_run"><a href="#n608">608</a></p>
+<p id="n608" class="stm mis"><a href="#n608">608</a></p>
<p id="n609" class="pln"><a href="#n609">609</a></p>
<p id="n610" class="pln"><a href="#n610">610</a></p>
-<p id="n611" class="stm run hide_run"><a href="#n611">611</a></p>
-<p id="n612" class="stm run hide_run"><a href="#n612">612</a></p>
-<p id="n613" class="stm run hide_run"><a href="#n613">613</a></p>
+<p id="n611" class="stm mis"><a href="#n611">611</a></p>
+<p id="n612" class="stm mis"><a href="#n612">612</a></p>
+<p id="n613" class="stm mis"><a href="#n613">613</a></p>
<p id="n614" class="pln"><a href="#n614">614</a></p>
<p id="n615" class="pln"><a href="#n615">615</a></p>
-<p id="n616" class="stm run hide_run"><a href="#n616">616</a></p>
-<p id="n617" class="stm run hide_run"><a href="#n617">617</a></p>
-<p id="n618" class="stm run hide_run"><a href="#n618">618</a></p>
+<p id="n616" class="stm mis"><a href="#n616">616</a></p>
+<p id="n617" class="stm mis"><a href="#n617">617</a></p>
+<p id="n618" class="stm mis"><a href="#n618">618</a></p>
<p id="n619" class="pln"><a href="#n619">619</a></p>
-<p id="n620" class="stm run hide_run"><a href="#n620">620</a></p>
-<p id="n621" class="stm run hide_run"><a href="#n621">621</a></p>
-<p id="n622" class="stm run hide_run"><a href="#n622">622</a></p>
-<p id="n623" class="stm run hide_run"><a href="#n623">623</a></p>
-<p id="n624" class="stm run hide_run"><a href="#n624">624</a></p>
-<p id="n625" class="stm run hide_run"><a href="#n625">625</a></p>
-<p id="n626" class="stm run hide_run"><a href="#n626">626</a></p>
-<p id="n627" class="stm run hide_run"><a href="#n627">627</a></p>
-<p id="n628" class="stm run hide_run"><a href="#n628">628</a></p>
-<p id="n629" class="stm run hide_run"><a href="#n629">629</a></p>
-<p id="n630" class="stm run hide_run"><a href="#n630">630</a></p>
-<p id="n631" class="stm run hide_run"><a href="#n631">631</a></p>
+<p id="n620" class="stm mis"><a href="#n620">620</a></p>
+<p id="n621" class="stm mis"><a href="#n621">621</a></p>
+<p id="n622" class="stm mis"><a href="#n622">622</a></p>
+<p id="n623" class="stm mis"><a href="#n623">623</a></p>
+<p id="n624" class="stm mis"><a href="#n624">624</a></p>
+<p id="n625" class="stm mis"><a href="#n625">625</a></p>
+<p id="n626" class="stm mis"><a href="#n626">626</a></p>
+<p id="n627" class="stm mis"><a href="#n627">627</a></p>
+<p id="n628" class="stm mis"><a href="#n628">628</a></p>
+<p id="n629" class="stm mis"><a href="#n629">629</a></p>
+<p id="n630" class="stm mis"><a href="#n630">630</a></p>
+<p id="n631" class="stm mis"><a href="#n631">631</a></p>
<p id="n632" class="pln"><a href="#n632">632</a></p>
<p id="n633" class="pln"><a href="#n633">633</a></p>
<p id="n634" class="pln"><a href="#n634">634</a></p>
<p id="n635" class="pln"><a href="#n635">635</a></p>
<p id="n636" class="pln"><a href="#n636">636</a></p>
-<p id="n637" class="stm run hide_run"><a href="#n637">637</a></p>
-<p id="n638" class="stm run hide_run"><a href="#n638">638</a></p>
+<p id="n637" class="stm mis"><a href="#n637">637</a></p>
+<p id="n638" class="stm mis"><a href="#n638">638</a></p>
<p id="n639" class="pln"><a href="#n639">639</a></p>
-<p id="n640" class="stm run hide_run"><a href="#n640">640</a></p>
+<p id="n640" class="stm mis"><a href="#n640">640</a></p>
<p id="n641" class="pln"><a href="#n641">641</a></p>
-<p id="n642" class="stm run hide_run"><a href="#n642">642</a></p>
+<p id="n642" class="stm mis"><a href="#n642">642</a></p>
<p id="n643" class="pln"><a href="#n643">643</a></p>
<p id="n644" class="stm run hide_run"><a href="#n644">644</a></p>
<p id="n645" class="pln"><a href="#n645">645</a></p>
<p id="n646" class="pln"><a href="#n646">646</a></p>
-<p id="n647" class="stm run hide_run"><a href="#n647">647</a></p>
-<p id="n648" class="stm run hide_run"><a href="#n648">648</a></p>
-<p id="n649" class="stm run hide_run"><a href="#n649">649</a></p>
-<p id="n650" class="stm run hide_run"><a href="#n650">650</a></p>
+<p id="n647" class="stm mis"><a href="#n647">647</a></p>
+<p id="n648" class="stm mis"><a href="#n648">648</a></p>
+<p id="n649" class="stm mis"><a href="#n649">649</a></p>
+<p id="n650" class="stm mis"><a href="#n650">650</a></p>
<p id="n651" class="pln"><a href="#n651">651</a></p>
-<p id="n652" class="stm run hide_run"><a href="#n652">652</a></p>
-<p id="n653" class="stm run hide_run"><a href="#n653">653</a></p>
-<p id="n654" class="stm run hide_run"><a href="#n654">654</a></p>
+<p id="n652" class="stm mis"><a href="#n652">652</a></p>
+<p id="n653" class="stm mis"><a href="#n653">653</a></p>
+<p id="n654" class="stm mis"><a href="#n654">654</a></p>
<p id="n655" class="pln"><a href="#n655">655</a></p>
-<p id="n656" class="stm run hide_run"><a href="#n656">656</a></p>
-<p id="n657" class="stm run hide_run"><a href="#n657">657</a></p>
-<p id="n658" class="stm run hide_run"><a href="#n658">658</a></p>
-<p id="n659" class="stm run hide_run"><a href="#n659">659</a></p>
+<p id="n656" class="stm mis"><a href="#n656">656</a></p>
+<p id="n657" class="stm mis"><a href="#n657">657</a></p>
+<p id="n658" class="stm mis"><a href="#n658">658</a></p>
+<p id="n659" class="stm mis"><a href="#n659">659</a></p>
<p id="n660" class="pln"><a href="#n660">660</a></p>
<p id="n661" class="stm run hide_run"><a href="#n661">661</a></p>
<p id="n662" class="pln"><a href="#n662">662</a></p>
<p id="n663" class="pln"><a href="#n663">663</a></p>
-<p id="n664" class="stm run hide_run"><a href="#n664">664</a></p>
-<p id="n665" class="stm run hide_run"><a href="#n665">665</a></p>
+<p id="n664" class="stm mis"><a href="#n664">664</a></p>
+<p id="n665" class="stm mis"><a href="#n665">665</a></p>
<p id="n666" class="pln"><a href="#n666">666</a></p>
-<p id="n667" class="stm run hide_run"><a href="#n667">667</a></p>
-<p id="n668" class="stm run hide_run"><a href="#n668">668</a></p>
+<p id="n667" class="stm mis"><a href="#n667">667</a></p>
+<p id="n668" class="stm mis"><a href="#n668">668</a></p>
<p id="n669" class="pln"><a href="#n669">669</a></p>
-<p id="n670" class="stm run hide_run"><a href="#n670">670</a></p>
-<p id="n671" class="stm run hide_run"><a href="#n671">671</a></p>
-<p id="n672" class="stm run hide_run"><a href="#n672">672</a></p>
-<p id="n673" class="stm run hide_run"><a href="#n673">673</a></p>
+<p id="n670" class="stm mis"><a href="#n670">670</a></p>
+<p id="n671" class="stm mis"><a href="#n671">671</a></p>
+<p id="n672" class="stm mis"><a href="#n672">672</a></p>
+<p id="n673" class="stm mis"><a href="#n673">673</a></p>
<p id="n674" class="pln"><a href="#n674">674</a></p>
-<p id="n675" class="stm run hide_run"><a href="#n675">675</a></p>
+<p id="n675" class="stm mis"><a href="#n675">675</a></p>
<p id="n676" class="pln"><a href="#n676">676</a></p>
-<p id="n677" class="stm run hide_run"><a href="#n677">677</a></p>
+<p id="n677" class="stm mis"><a href="#n677">677</a></p>
<p id="n678" class="pln"><a href="#n678">678</a></p>
<p id="n679" class="stm run hide_run"><a href="#n679">679</a></p>
<p id="n680" class="pln"><a href="#n680">680</a></p>
<p id="n681" class="pln"><a href="#n681">681</a></p>
<p id="n682" class="pln"><a href="#n682">682</a></p>
<p id="n683" class="pln"><a href="#n683">683</a></p>
-<p id="n684" class="stm run hide_run"><a href="#n684">684</a></p>
+<p id="n684" class="stm mis"><a href="#n684">684</a></p>
<p id="n685" class="pln"><a href="#n685">685</a></p>
<p id="n686" class="pln"><a href="#n686">686</a></p>
-<p id="n687" class="stm run hide_run"><a href="#n687">687</a></p>
-<p id="n688" class="stm run hide_run"><a href="#n688">688</a></p>
-<p id="n689" class="stm run hide_run"><a href="#n689">689</a></p>
+<p id="n687" class="stm mis"><a href="#n687">687</a></p>
+<p id="n688" class="stm mis"><a href="#n688">688</a></p>
+<p id="n689" class="stm mis"><a href="#n689">689</a></p>
<p id="n690" class="pln"><a href="#n690">690</a></p>
-<p id="n691" class="stm run hide_run"><a href="#n691">691</a></p>
-<p id="n692" class="stm run hide_run"><a href="#n692">692</a></p>
-<p id="n693" class="stm run hide_run"><a href="#n693">693</a></p>
+<p id="n691" class="stm mis"><a href="#n691">691</a></p>
+<p id="n692" class="stm mis"><a href="#n692">692</a></p>
+<p id="n693" class="stm mis"><a href="#n693">693</a></p>
<p id="n694" class="pln"><a href="#n694">694</a></p>
-<p id="n695" class="stm run hide_run"><a href="#n695">695</a></p>
-<p id="n696" class="stm run hide_run"><a href="#n696">696</a></p>
-<p id="n697" class="stm run hide_run"><a href="#n697">697</a></p>
+<p id="n695" class="stm mis"><a href="#n695">695</a></p>
+<p id="n696" class="stm mis"><a href="#n696">696</a></p>
+<p id="n697" class="stm mis"><a href="#n697">697</a></p>
<p id="n698" class="pln"><a href="#n698">698</a></p>
-<p id="n699" class="stm run hide_run"><a href="#n699">699</a></p>
-<p id="n700" class="stm run hide_run"><a href="#n700">700</a></p>
-<p id="n701" class="stm run hide_run"><a href="#n701">701</a></p>
+<p id="n699" class="stm mis"><a href="#n699">699</a></p>
+<p id="n700" class="stm mis"><a href="#n700">700</a></p>
+<p id="n701" class="stm mis"><a href="#n701">701</a></p>
<p id="n702" class="pln"><a href="#n702">702</a></p>
-<p id="n703" class="stm run hide_run"><a href="#n703">703</a></p>
+<p id="n703" class="stm mis"><a href="#n703">703</a></p>
<p id="n704" class="pln"><a href="#n704">704</a></p>
<p id="n705" class="stm run hide_run"><a href="#n705">705</a></p>
<p id="n706" class="pln"><a href="#n706">706</a></p>
<p id="n707" class="pln"><a href="#n707">707</a></p>
<p id="n708" class="pln"><a href="#n708">708</a></p>
-<p id="n709" class="stm run hide_run"><a href="#n709">709</a></p>
-<p id="n710" class="stm run hide_run"><a href="#n710">710</a></p>
-<p id="n711" class="stm run hide_run"><a href="#n711">711</a></p>
-<p id="n712" class="stm run hide_run"><a href="#n712">712</a></p>
-<p id="n713" class="stm run hide_run"><a href="#n713">713</a></p>
-<p id="n714" class="stm run hide_run"><a href="#n714">714</a></p>
-<p id="n715" class="stm run hide_run"><a href="#n715">715</a></p>
-<p id="n716" class="stm run hide_run"><a href="#n716">716</a></p>
-<p id="n717" class="stm run hide_run"><a href="#n717">717</a></p>
-<p id="n718" class="stm run hide_run"><a href="#n718">718</a></p>
-<p id="n719" class="stm run hide_run"><a href="#n719">719</a></p>
-<p id="n720" class="stm run hide_run"><a href="#n720">720</a></p>
-<p id="n721" class="stm run hide_run"><a href="#n721">721</a></p>
-<p id="n722" class="stm run hide_run"><a href="#n722">722</a></p>
-<p id="n723" class="stm run hide_run"><a href="#n723">723</a></p>
-<p id="n724" class="stm run hide_run"><a href="#n724">724</a></p>
+<p id="n709" class="stm mis"><a href="#n709">709</a></p>
+<p id="n710" class="stm mis"><a href="#n710">710</a></p>
+<p id="n711" class="stm mis"><a href="#n711">711</a></p>
+<p id="n712" class="stm mis"><a href="#n712">712</a></p>
+<p id="n713" class="stm mis"><a href="#n713">713</a></p>
+<p id="n714" class="stm mis"><a href="#n714">714</a></p>
+<p id="n715" class="stm mis"><a href="#n715">715</a></p>
+<p id="n716" class="stm mis"><a href="#n716">716</a></p>
+<p id="n717" class="stm mis"><a href="#n717">717</a></p>
+<p id="n718" class="stm mis"><a href="#n718">718</a></p>
+<p id="n719" class="stm mis"><a href="#n719">719</a></p>
+<p id="n720" class="stm mis"><a href="#n720">720</a></p>
+<p id="n721" class="stm mis"><a href="#n721">721</a></p>
+<p id="n722" class="stm mis"><a href="#n722">722</a></p>
+<p id="n723" class="stm mis"><a href="#n723">723</a></p>
+<p id="n724" class="stm mis"><a href="#n724">724</a></p>
<p id="n725" class="pln"><a href="#n725">725</a></p>
<p id="n726" class="pln"><a href="#n726">726</a></p>
<p id="n727" class="pln"><a href="#n727">727</a></p>
@@ -904,10 +904,10 @@
<p id="t55" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Any exception raised by Cog.</span><span class="strut">&nbsp;</span></p>
<p id="t56" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t57" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="str">&#39;&#39;</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="num">0</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t58" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">file</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t58" class="stm par run hide_run"><span class="annotate" title="Line 58 was executed, but never jumped to line 61">58&#x202F;&#x219B;&#x202F;61 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">file</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t59" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Exception</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="str">&quot;%s(%d): %s&quot;</span> <span class="op">%</span> <span class="op">(</span><span class="nam">file</span><span class="op">,</span> <span class="nam">line</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t60" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t61" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Exception</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t61" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Exception</span><span class="op">.</span><span class="nam">__init__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t62" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t63" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t64" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; An error in usage of command-line arguments in cog.</span><span class="strut">&nbsp;</span></p>
@@ -934,16 +934,16 @@
<p id="t85" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">stdout</span><span class="op">=</span><span class="nam">None</span><span class="op">,</span> <span class="nam">stderr</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t86" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Assign new files for standard out and/or standard error.</span><span class="strut">&nbsp;</span></p>
<p id="t87" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t88" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">stdout</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t88" class="stm par run hide_run"><span class="annotate" title="Line 88 was executed, but never jumped to line 90">88&#x202F;&#x219B;&#x202F;90 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">stdout</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t89" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span> <span class="op">=</span> <span class="nam">stdout</span><span class="strut">&nbsp;</span></p>
-<p id="t90" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">stderr</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t91" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="strut">&nbsp;</span></p>
+<p id="t90" class="stm par run hide_run"><span class="annotate" title="Line 90 was executed, but never jumped to line 91">90&#x202F;&#x219B;&#x202F;91 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">stderr</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t91" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="strut">&nbsp;</span></p>
<p id="t92" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t93" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">prout</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;\n&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t94" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">print</span><span class="op">(</span><span class="nam">s</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="nam">end</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t94" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">print</span><span class="op">(</span><span class="nam">s</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="nam">end</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t95" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t96" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">prerr</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;\n&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t97" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">print</span><span class="op">(</span><span class="nam">s</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="nam">end</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t97" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">print</span><span class="op">(</span><span class="nam">s</span><span class="op">,</span> <span class="nam">file</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="nam">end</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t98" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t99" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t100" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogGenerator</span><span class="op">(</span><span class="nam">Redirectable</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -1003,7 +1003,7 @@
<p id="t154" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">outstring</span><span class="op">,</span> <span class="nam">prefOut</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t155" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t156" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">msg</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t157" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Message: &quot;</span><span class="op">+</span><span class="nam">s</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t157" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Message: &quot;</span><span class="op">+</span><span class="nam">s</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t158" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t159" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">out</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sOut</span><span class="op">=</span><span class="str">&#39;&#39;</span><span class="op">,</span> <span class="nam">dedent</span><span class="op">=</span><span class="nam">False</span><span class="op">,</span> <span class="nam">trimblanklines</span><span class="op">=</span><span class="nam">False</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t160" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; The cog.out function.</span><span class="strut">&nbsp;</span></p>
@@ -1031,7 +1031,7 @@
<p id="t182" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this function.&nbsp; It will display the error without a scary Python</span><span class="strut">&nbsp;</span></p>
<p id="t183" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; traceback.</span><span class="strut">&nbsp;</span></p>
<p id="t184" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t185" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogGeneratedError</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t185" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogGeneratedError</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t186" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t187" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t188" class="stm run hide_run"><span class="key">class</span> <span class="nam">NumberedFileReader</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -1079,23 +1079,23 @@
<p id="t230" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">__eq__</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">other</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t231" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Comparison operator for tests to use.</span><span class="strut">&nbsp;</span></p>
<p id="t232" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t233" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">__dict__</span> <span class="op">==</span> <span class="nam">other</span><span class="op">.</span><span class="nam">__dict__</span><span class="strut">&nbsp;</span></p>
+<p id="t233" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">__dict__</span> <span class="op">==</span> <span class="nam">other</span><span class="op">.</span><span class="nam">__dict__</span><span class="strut">&nbsp;</span></p>
<p id="t234" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t235" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">clone</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t236" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Make a clone of these options, for further refinement.</span><span class="strut">&nbsp;</span></p>
<p id="t237" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t238" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">copy</span><span class="op">.</span><span class="nam">deepcopy</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t238" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">copy</span><span class="op">.</span><span class="nam">deepcopy</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t239" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t240" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">dirs</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t241" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Add directories to the include path.</span><span class="strut">&nbsp;</span></p>
<p id="t242" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t243" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">dirs</span> <span class="op">=</span> <span class="nam">dirs</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">pathsep</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t244" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">includePath</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">dirs</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t243" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">dirs</span> <span class="op">=</span> <span class="nam">dirs</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">pathsep</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t244" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">includePath</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">dirs</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t245" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t246" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">parseArgs</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">argv</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t247" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Parse the command line arguments.</span><span class="strut">&nbsp;</span></p>
-<p id="t248" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t249" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">args</span> <span class="op">=</span> <span class="nam">getopt</span><span class="op">.</span><span class="nam">getopt</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t248" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t249" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">args</span> <span class="op">=</span> <span class="nam">getopt</span><span class="op">.</span><span class="nam">getopt</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t250" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t251" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cdD:eI:n:o:rs:Uvw:xz&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t252" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">[</span><span class="strut">&nbsp;</span></p>
@@ -1103,67 +1103,67 @@
<p id="t254" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;verbosity=&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t255" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t256" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t257" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">getopt</span><span class="op">.</span><span class="nam">error</span> <span class="key">as</span> <span class="nam">msg</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t258" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t257" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">getopt</span><span class="op">.</span><span class="nam">error</span> <span class="key">as</span> <span class="nam">msg</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t258" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t259" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t260" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Handle the command line arguments.</span><span class="strut">&nbsp;</span></p>
-<p id="t261" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">o</span><span class="op">,</span> <span class="nam">a</span> <span class="key">in</span> <span class="nam">opts</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t262" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-c&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t263" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bHashOutput</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t264" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-d&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t265" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t266" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-D&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t267" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">a</span><span class="op">.</span><span class="nam">count</span><span class="op">(</span><span class="str">&#39;=&#39;</span><span class="op">)</span> <span class="op">&lt;</span> <span class="num">1</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t268" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;-D takes a name=value argument&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t269" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">name</span><span class="op">,</span> <span class="nam">value</span> <span class="op">=</span> <span class="nam">a</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39;=&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t270" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">defines</span><span class="op">[</span><span class="nam">name</span><span class="op">]</span> <span class="op">=</span> <span class="nam">value</span><span class="strut">&nbsp;</span></p>
-<p id="t271" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-e&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t272" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bWarnEmpty</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t273" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-I&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t274" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t275" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-n&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t276" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEncoding</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
-<p id="t277" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-o&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t278" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
-<p id="t279" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-r&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t280" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t281" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-s&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t282" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sSuffix</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
-<p id="t283" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-U&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t284" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNewlines</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t285" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-v&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t286" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bShowVersion</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t287" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-w&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t288" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
-<p id="t289" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-x&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t290" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNoGenerate</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t291" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-z&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t292" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t293" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;--markers&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t294" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_parse_markers</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t295" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;--verbosity&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t296" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">=</span> <span class="nam">int</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t261" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">o</span><span class="op">,</span> <span class="nam">a</span> <span class="key">in</span> <span class="nam">opts</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t262" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-c&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t263" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bHashOutput</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t264" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-d&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t265" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t266" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-D&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t267" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">a</span><span class="op">.</span><span class="nam">count</span><span class="op">(</span><span class="str">&#39;=&#39;</span><span class="op">)</span> <span class="op">&lt;</span> <span class="num">1</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t268" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;-D takes a name=value argument&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t269" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">name</span><span class="op">,</span> <span class="nam">value</span> <span class="op">=</span> <span class="nam">a</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39;=&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t270" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">defines</span><span class="op">[</span><span class="nam">name</span><span class="op">]</span> <span class="op">=</span> <span class="nam">value</span><span class="strut">&nbsp;</span></p>
+<p id="t271" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-e&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t272" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bWarnEmpty</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t273" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-I&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t274" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t275" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-n&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t276" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEncoding</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t277" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-o&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t278" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t279" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-r&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t280" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t281" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-s&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t282" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sSuffix</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t283" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-U&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t284" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNewlines</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t285" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-v&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t286" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bShowVersion</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t287" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-w&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t288" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span> <span class="op">=</span> <span class="nam">a</span><span class="strut">&nbsp;</span></p>
+<p id="t289" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-x&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t290" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bNoGenerate</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t291" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;-z&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t292" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t293" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;--markers&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t294" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_parse_markers</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t295" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">o</span> <span class="op">==</span> <span class="str">&#39;--verbosity&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t296" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">=</span> <span class="nam">int</span><span class="op">(</span><span class="nam">a</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t297" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t298" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Since getopt.getopt is given a list of possible flags,</span><span class="strut">&nbsp;</span></p>
<p id="t299" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># this is an internal error.</span><span class="strut">&nbsp;</span></p>
<p id="t300" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogInternalError</span><span class="op">(</span><span class="str">&quot;Don&#39;t understand argument %s&quot;</span> <span class="op">%</span> <span class="nam">o</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t301" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t302" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">_parse_markers</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">val</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t303" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t304" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="op">=</span> <span class="nam">val</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t305" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">ValueError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t306" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t303" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t304" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="op">=</span> <span class="nam">val</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="str">&#39; &#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t305" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">ValueError</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t306" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t307" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers requires 3 values separated by spaces, could not parse %r&#39;</span> <span class="op">%</span> <span class="nam">val</span><span class="strut">&nbsp;</span></p>
<p id="t308" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t309" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t310" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">validate</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t311" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Does nothing if everything is OK, raises CogError&#39;s if it&#39;s not.</span><span class="strut">&nbsp;</span></p>
<p id="t312" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t313" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t314" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -d with -r (or you would delete all your source!)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t313" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t314" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -d with -r (or you would delete all your source!)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t315" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t316" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t317" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -o with -r (they are opposites)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t316" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">bReplace</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t317" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -o with -r (they are opposites)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t318" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t319" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t320" class="stm run hide_run"><span class="key">class</span> <span class="nam">Cog</span><span class="op">(</span><span class="nam">Redirectable</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -1181,7 +1181,7 @@
<p id="t332" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sEndFormat</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span> <span class="op">+</span> <span class="str">&#39; (checksum: %s)&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t333" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t334" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">showWarning</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t335" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Warning: &quot;</span><span class="op">+</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t335" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Warning: &quot;</span><span class="op">+</span><span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t336" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t337" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">s</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t338" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span> <span class="key">in</span> <span class="nam">s</span><span class="strut">&nbsp;</span></p>
@@ -1203,26 +1203,26 @@
<p id="t354" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t355" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Open an output file, taking all the details into account.</span><span class="strut">&nbsp;</span></p>
<p id="t356" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t357" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
-<p id="t358" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&quot;w&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t359" class="stm par run hide_run"><span class="annotate" title="Line 359 was executed, but never jumped to line 360">359&#x202F;&#x219B;&#x202F;360 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t357" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t358" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&quot;w&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t359" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t360" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">[</span><span class="str">&#39;encoding&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEncoding</span><span class="strut">&nbsp;</span></p>
-<p id="t361" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bNewlines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t362" class="stm par run hide_run"><span class="annotate" title="Line 362 was executed, but never jumped to line 363">362&#x202F;&#x219B;&#x202F;363 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t361" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bNewlines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t362" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t363" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">[</span><span class="str">&#39;newline&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="str">&quot;\n&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t364" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t365" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&quot;wb&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t366" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">open</span><span class="op">(</span><span class="nam">fname</span><span class="op">,</span> <span class="nam">mode</span><span class="op">,</span> <span class="op">**</span><span class="nam">opts</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t365" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&quot;wb&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t366" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">open</span><span class="op">(</span><span class="nam">fname</span><span class="op">,</span> <span class="nam">mode</span><span class="op">,</span> <span class="op">**</span><span class="nam">opts</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t367" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t368" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">openInputFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">fname</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t369" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Open an input file. &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t370" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fname</span> <span class="op">==</span> <span class="str">&quot;-&quot;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t371" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span><span class="strut">&nbsp;</span></p>
+<p id="t370" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fname</span> <span class="op">==</span> <span class="str">&quot;-&quot;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t371" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span><span class="strut">&nbsp;</span></p>
<p id="t372" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t373" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
-<p id="t374" class="stm par run hide_run"><span class="annotate" title="Line 374 was executed, but never jumped to line 375">374&#x202F;&#x219B;&#x202F;375 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t373" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t374" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">PY3</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t375" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">opts</span><span class="op">[</span><span class="str">&#39;encoding&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEncoding</span><span class="strut">&nbsp;</span></p>
-<p id="t376" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">open</span><span class="op">(</span><span class="nam">fname</span><span class="op">,</span> <span class="str">&quot;r&quot;</span><span class="op">,</span> <span class="op">**</span><span class="nam">opts</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t376" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">open</span><span class="op">(</span><span class="nam">fname</span><span class="op">,</span> <span class="str">&quot;r&quot;</span><span class="op">,</span> <span class="op">**</span><span class="nam">opts</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t377" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t378" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">fIn</span><span class="op">,</span> <span class="nam">fOut</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">None</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t379" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process an input file object to an output file object.</span><span class="strut">&nbsp;</span></p>
@@ -1233,14 +1233,14 @@
<p id="t384" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileOut</span> <span class="op">=</span> <span class="nam">fname</span> <span class="key">or</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t385" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fInToClose</span> <span class="op">=</span> <span class="nam">fOutToClose</span> <span class="op">=</span> <span class="nam">None</span><span class="strut">&nbsp;</span></p>
<p id="t386" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Convert filenames to files.</span><span class="strut">&nbsp;</span></p>
-<p id="t387" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">fIn</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t387" class="stm par run hide_run"><span class="annotate" title="Line 387 was executed, but never jumped to line 389">387&#x202F;&#x219B;&#x202F;389 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">fIn</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t388" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Open the input file.</span><span class="strut">&nbsp;</span></p>
-<p id="t389" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileIn</span> <span class="op">=</span> <span class="nam">fIn</span><span class="strut">&nbsp;</span></p>
-<p id="t390" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fIn</span> <span class="op">=</span> <span class="nam">fInToClose</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">fIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t391" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">fOut</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t389" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileIn</span> <span class="op">=</span> <span class="nam">fIn</span><span class="strut">&nbsp;</span></p>
+<p id="t390" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fIn</span> <span class="op">=</span> <span class="nam">fInToClose</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">fIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t391" class="stm par run hide_run"><span class="annotate" title="Line 391 was executed, but never jumped to line 393">391&#x202F;&#x219B;&#x202F;393 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">fOut</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t392" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Open the output file.</span><span class="strut">&nbsp;</span></p>
-<p id="t393" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileOut</span> <span class="op">=</span> <span class="nam">fOut</span><span class="strut">&nbsp;</span></p>
-<p id="t394" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span> <span class="op">=</span> <span class="nam">fOutToClose</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">fOut</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t393" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileOut</span> <span class="op">=</span> <span class="nam">fOut</span><span class="strut">&nbsp;</span></p>
+<p id="t394" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span> <span class="op">=</span> <span class="nam">fOutToClose</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">fOut</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t395" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t396" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t397" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fIn</span> <span class="op">=</span> <span class="nam">NumberedFileReader</span><span class="op">(</span><span class="nam">fIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
@@ -1251,7 +1251,7 @@
<p id="t402" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">outFile</span> <span class="op">=</span> <span class="nam">sFileOut</span><span class="strut">&nbsp;</span></p>
<p id="t403" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t404" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># The globals dict we&#39;ll use for this file.</span><span class="strut">&nbsp;</span></p>
-<p id="t405" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">globals</span> <span class="key">is</span> <span class="nam">None</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t405" class="stm par run hide_run"><span class="annotate" title="Line 405 was executed, but never jumped to line 409">405&#x202F;&#x219B;&#x202F;409 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">globals</span> <span class="key">is</span> <span class="nam">None</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t406" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t407" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t408" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># If there are any global defines, put them in the globals.</span><span class="strut">&nbsp;</span></p>
@@ -1262,17 +1262,17 @@
<p id="t413" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t414" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Find the next spec begin</span><span class="strut">&nbsp;</span></p>
<p id="t415" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t416" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t417" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t416" class="stm par run hide_run"><span class="annotate" title="Line 416 was executed, but never jumped to line 417">416&#x202F;&#x219B;&#x202F;417 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t417" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t418" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t419" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t420" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t419" class="stm par run hide_run"><span class="annotate" title="Line 419 was executed, but never jumped to line 420">419&#x202F;&#x219B;&#x202F;420 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t420" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t421" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t422" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t423" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t424" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t425" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">break</span><span class="strut">&nbsp;</span></p>
-<p id="t426" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t426" class="stm par run hide_run"><span class="annotate" title="Line 426 was executed, but never jumped to line 430">426&#x202F;&#x219B;&#x202F;430 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t427" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t428" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t429" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># l is the begin spec</span><span class="strut">&nbsp;</span></p>
@@ -1299,22 +1299,22 @@
<p id="t450" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t451" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Get all the lines in the spec</span><span class="strut">&nbsp;</span></p>
<p id="t452" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t453" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t454" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t453" class="stm par run hide_run"><span class="annotate" title="Line 453 was executed, but never jumped to line 454">453&#x202F;&#x219B;&#x202F;454 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t454" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t455" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t456" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t457" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t456" class="stm par run hide_run"><span class="annotate" title="Line 456 was executed, but never jumped to line 457">456&#x202F;&#x219B;&#x202F;457 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t457" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t458" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t459" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t459" class="stm par run hide_run"><span class="annotate" title="Line 459 was executed, but never jumped to line 461">459&#x202F;&#x219B;&#x202F;461 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t460" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t461" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">parseLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t462" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t463" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t464" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
+<p id="t463" class="stm par run hide_run"><span class="annotate" title="Line 463 was executed, but never jumped to line 464">463&#x202F;&#x219B;&#x202F;464 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t464" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="strut">&nbsp;</span></p>
<p id="t465" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;Cog block begun but never ended.&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t466" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">firstLineNum</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t467" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t468" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t468" class="stm par run hide_run"><span class="annotate" title="Line 468 was executed, but never jumped to line 470">468&#x202F;&#x219B;&#x202F;470 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t469" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t470" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">gen</span><span class="op">.</span><span class="nam">parseMarker</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t471" class="pln"><span class="strut">&nbsp;</span></p>
@@ -1325,20 +1325,20 @@
<p id="t476" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">previous</span> <span class="op">=</span> <span class="str">&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t477" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span> <span class="op">=</span> <span class="nam">hashlib</span><span class="op">.</span><span class="nam">md5</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t478" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">while</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndOutputLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t479" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t480" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t479" class="stm par run hide_run"><span class="annotate" title="Line 479 was executed, but never jumped to line 480">479&#x202F;&#x219B;&#x202F;480 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isBeginSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t480" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t481" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t482" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t483" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t482" class="stm par run hide_run"><span class="annotate" title="Line 482 was executed, but never jumped to line 483">482&#x202F;&#x219B;&#x202F;483 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">isEndSpecLine</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t483" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Unexpected &#39;%s&#39;&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t484" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t485" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">previous</span> <span class="op">+=</span> <span class="nam">l</span><span class="strut">&nbsp;</span></p>
<p id="t486" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span><span class="op">.</span><span class="nam">update</span><span class="op">(</span><span class="nam">to_bytes</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t487" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t488" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">curHash</span> <span class="op">=</span> <span class="nam">hasher</span><span class="op">.</span><span class="nam">hexdigest</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t489" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t490" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t490" class="stm par run hide_run"><span class="annotate" title="Line 490 was executed, but never jumped to line 492">490&#x202F;&#x219B;&#x202F;492 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">l</span> <span class="key">and</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bEofCanBeEnd</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t491" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We reached end of file before we found the end output line.</span><span class="strut">&nbsp;</span></p>
-<p id="t492" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Missing &#39;%s&#39; before end of file.&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t492" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Missing &#39;%s&#39; before end of file.&quot;</span> <span class="op">%</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t493" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t494" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t495" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make the previous output available to the current code</span><span class="strut">&nbsp;</span></p>
@@ -1347,7 +1347,7 @@
<p id="t498" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Write the output of the spec to be the new output if we&#39;re</span><span class="strut">&nbsp;</span></p>
<p id="t499" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># supposed to generate code.</span><span class="strut">&nbsp;</span></p>
<p id="t500" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hasher</span> <span class="op">=</span> <span class="nam">hashlib</span><span class="op">.</span><span class="nam">md5</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t501" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bNoGenerate</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t501" class="stm par run hide_run"><span class="annotate" title="Line 501 was executed, but never jumped to line 507">501&#x202F;&#x219B;&#x202F;507 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bNoGenerate</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t502" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFile</span> <span class="op">=</span> <span class="str">&quot;%s+%d&quot;</span> <span class="op">%</span> <span class="op">(</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">firstLineNum</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t503" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sGen</span> <span class="op">=</span> <span class="nam">gen</span><span class="op">.</span><span class="nam">evaluate</span><span class="op">(</span><span class="nam">cog</span><span class="op">=</span><span class="nam">self</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">globals</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t504" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sGen</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">suffixLines</span><span class="op">(</span><span class="nam">sGen</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
@@ -1359,35 +1359,35 @@
<p id="t510" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t511" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Write the ending output line</span><span class="strut">&nbsp;</span></p>
<p id="t512" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">hashMatch</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">reEndOutput</span><span class="op">.</span><span class="nam">search</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t513" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bHashOutput</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t514" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">hashMatch</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t515" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">oldHash</span> <span class="op">=</span> <span class="nam">hashMatch</span><span class="op">.</span><span class="nam">groupdict</span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="str">&#39;hash&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t516" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">oldHash</span> <span class="op">!=</span> <span class="nam">curHash</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t517" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t513" class="stm par run hide_run"><span class="annotate" title="Line 513 was executed, but never jumped to line 514">513&#x202F;&#x219B;&#x202F;514 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bHashOutput</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t514" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">hashMatch</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t515" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">oldHash</span> <span class="op">=</span> <span class="nam">hashMatch</span><span class="op">.</span><span class="nam">groupdict</span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="str">&#39;hash&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t516" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">oldHash</span> <span class="op">!=</span> <span class="nam">curHash</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t517" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t518" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">file</span><span class="op">=</span><span class="nam">sFileIn</span><span class="op">,</span> <span class="nam">line</span><span class="op">=</span><span class="nam">fIn</span><span class="op">.</span><span class="nam">linenumber</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t519" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a new end line with the correct hash.</span><span class="strut">&nbsp;</span></p>
-<p id="t520" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">endpieces</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">hashMatch</span><span class="op">.</span><span class="nam">group</span><span class="op">(</span><span class="num">0</span><span class="op">)</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t520" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">endpieces</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">hashMatch</span><span class="op">.</span><span class="nam">group</span><span class="op">(</span><span class="num">0</span><span class="op">)</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t521" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t522" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># There was no old hash, but we want a new hash.</span><span class="strut">&nbsp;</span></p>
-<p id="t523" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">endpieces</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t524" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">sEndFormat</span> <span class="op">%</span> <span class="nam">newHash</span><span class="op">)</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">endpieces</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t523" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">endpieces</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t524" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">sEndFormat</span> <span class="op">%</span> <span class="nam">newHash</span><span class="op">)</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">endpieces</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t525" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t526" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We don&#39;t want hashes output, so if there was one, get rid of</span><span class="strut">&nbsp;</span></p>
<p id="t527" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># it.</span><span class="strut">&nbsp;</span></p>
-<p id="t528" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">hashMatch</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t529" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">hashMatch</span><span class="op">.</span><span class="nam">groupdict</span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="str">&#39;hashsect&#39;</span><span class="op">]</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t528" class="stm par run hide_run"><span class="annotate" title="Line 528 was executed, but never jumped to line 529">528&#x202F;&#x219B;&#x202F;529 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">hashMatch</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t529" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">l</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="nam">hashMatch</span><span class="op">.</span><span class="nam">groupdict</span><span class="op">(</span><span class="op">)</span><span class="op">[</span><span class="str">&#39;hashsect&#39;</span><span class="op">]</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t530" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t531" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t531" class="stm par run hide_run"><span class="annotate" title="Line 531 was executed, but never jumped to line 533">531&#x202F;&#x219B;&#x202F;533 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t532" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOut</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">l</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t533" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">l</span> <span class="op">=</span> <span class="nam">fIn</span><span class="op">.</span><span class="nam">readline</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t534" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t535" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">bSawCog</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bWarnEmpty</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t536" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">showWarning</span><span class="op">(</span><span class="str">&quot;no cog code found in %s&quot;</span> <span class="op">%</span> <span class="nam">sFileIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t535" class="stm par run hide_run"><span class="annotate" title="Line 535 was executed, but never jumped to line 536">535&#x202F;&#x219B;&#x202F;536 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">bSawCog</span> <span class="key">and</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bWarnEmpty</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t536" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">showWarning</span><span class="op">(</span><span class="str">&quot;no cog code found in %s&quot;</span> <span class="op">%</span> <span class="nam">sFileIn</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t537" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t538" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fInToClose</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t539" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fInToClose</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t540" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fOutToClose</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t541" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOutToClose</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t538" class="stm par run hide_run"><span class="annotate" title="Line 538 was executed, but never jumped to line 539">538&#x202F;&#x219B;&#x202F;539 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fInToClose</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t539" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fInToClose</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t540" class="stm par run hide_run"><span class="annotate" title="Line 540 was executed, but never jumped to line 541">540&#x202F;&#x219B;&#x202F;541 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">fOutToClose</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t541" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOutToClose</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t542" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t543" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t544" class="pln">&nbsp; &nbsp; <span class="com"># A regex for non-empty lines, used by suffixLines.</span><span class="strut">&nbsp;</span></p>
@@ -1397,10 +1397,10 @@
<p id="t548" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Add suffixes to the lines in text, if our options desire it.</span><span class="strut">&nbsp;</span></p>
<p id="t549" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text is many lines, as a single string.</span><span class="strut">&nbsp;</span></p>
<p id="t550" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t551" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sSuffix</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t551" class="stm par run hide_run"><span class="annotate" title="Line 551 was executed, but never jumped to line 553">551&#x202F;&#x219B;&#x202F;553 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sSuffix</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t552" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Find all non-blank lines, and add the suffix to the end.</span><span class="strut">&nbsp;</span></p>
-<p id="t553" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">repl</span> <span class="op">=</span> <span class="str">r&quot;\g&lt;0&gt;&quot;</span> <span class="op">+</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sSuffix</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;\\&#39;</span><span class="op">,</span> <span class="str">&#39;\\\\&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t554" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">reNonEmptyLines</span><span class="op">.</span><span class="nam">sub</span><span class="op">(</span><span class="nam">repl</span><span class="op">,</span> <span class="nam">text</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t553" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">repl</span> <span class="op">=</span> <span class="str">r&quot;\g&lt;0&gt;&quot;</span> <span class="op">+</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sSuffix</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;\\&#39;</span><span class="op">,</span> <span class="str">&#39;\\\\&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t554" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">reNonEmptyLines</span><span class="op">.</span><span class="nam">sub</span><span class="op">(</span><span class="nam">repl</span><span class="op">,</span> <span class="nam">text</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t555" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">text</span><span class="strut">&nbsp;</span></p>
<p id="t556" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t557" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processString</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sInput</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -1415,162 +1415,162 @@
<p id="t566" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">replaceFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">sNewText</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t567" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Replace file sOldPath with the contents sNewText</span><span class="strut">&nbsp;</span></p>
<p id="t568" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t569" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t569" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t570" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Need to ensure we can write.</span><span class="strut">&nbsp;</span></p>
-<p id="t571" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t571" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t572" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Use an external command to make the file writable.</span><span class="strut">&nbsp;</span></p>
-<p id="t573" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;%s&#39;</span><span class="op">,</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t574" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">popen</span><span class="op">(</span><span class="nam">cmd</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t575" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t576" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Couldn&#39;t make %s writable&quot;</span> <span class="op">%</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t573" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sMakeWritableCmd</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&#39;%s&#39;</span><span class="op">,</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t574" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">popen</span><span class="op">(</span><span class="nam">cmd</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t575" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t576" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Couldn&#39;t make %s writable&quot;</span> <span class="op">%</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t577" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t578" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Can&#39;t write!</span><span class="strut">&nbsp;</span></p>
-<p id="t579" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Can&#39;t overwrite %s&quot;</span> <span class="op">%</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t580" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t581" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">sNewText</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t582" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t579" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogError</span><span class="op">(</span><span class="str">&quot;Can&#39;t overwrite %s&quot;</span> <span class="op">%</span> <span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t580" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openOutputFile</span><span class="op">(</span><span class="nam">sOldPath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t581" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">sNewText</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t582" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t583" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t584" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">saveIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t585" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">savedInclude</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t586" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">savedSysPath</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t585" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">savedInclude</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t586" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">savedSysPath</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t587" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t588" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">restoreIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t589" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">savedInclude</span><span class="strut">&nbsp;</span></p>
-<p id="t590" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="strut">&nbsp;</span></p>
-<p id="t591" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">savedSysPath</span><span class="strut">&nbsp;</span></p>
+<p id="t589" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">savedInclude</span><span class="strut">&nbsp;</span></p>
+<p id="t590" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="strut">&nbsp;</span></p>
+<p id="t591" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">savedSysPath</span><span class="strut">&nbsp;</span></p>
<p id="t592" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t593" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">includePath</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t594" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t595" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t594" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cogmodule</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t595" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">extend</span><span class="op">(</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t596" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t597" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processOneFile</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t598" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process one filename through cog.</span><span class="strut">&nbsp;</span></p>
<p id="t599" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t600" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t601" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">saveIncludePath</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t602" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t601" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">saveIncludePath</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t602" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
<p id="t603" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t604" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t605" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t604" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t605" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">includePath</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t606" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Since we know where the input file came from,</span><span class="strut">&nbsp;</span></p>
<p id="t607" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># push its directory onto the include path.</span><span class="strut">&nbsp;</span></p>
-<p id="t608" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="op">[</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">dirname</span><span class="op">(</span><span class="nam">sFile</span><span class="op">)</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t608" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addToIncludePath</span><span class="op">(</span><span class="op">[</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">dirname</span><span class="op">(</span><span class="nam">sFile</span><span class="op">)</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t609" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t610" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># How we process the file depends on where the output is going.</span><span class="strut">&nbsp;</span></p>
-<p id="t611" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t612" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t613" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bReplace</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t611" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t612" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t613" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">elif</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bReplace</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t614" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We want to replace the cog file with the output,</span><span class="strut">&nbsp;</span></p>
<p id="t615" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># but only if they differ.</span><span class="strut">&nbsp;</span></p>
-<p id="t616" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&gt;=</span> <span class="num">2</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t617" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cogging %s&quot;</span> <span class="op">%</span> <span class="nam">sFile</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t618" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t616" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&gt;=</span> <span class="num">2</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t617" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cogging %s&quot;</span> <span class="op">%</span> <span class="nam">sFile</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t618" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
<p id="t619" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t620" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t621" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOldFile</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t622" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sOldText</span> <span class="op">=</span> <span class="nam">fOldFile</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t623" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOldFile</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t624" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sNewText</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">sOldText</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t625" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">sOldText</span> <span class="op">!=</span> <span class="nam">sNewText</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t626" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&gt;=</span> <span class="num">1</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t627" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&lt;</span> <span class="num">2</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t628" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cogging %s&quot;</span> <span class="op">%</span> <span class="nam">sFile</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t629" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;&nbsp; (changed)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t630" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
-<p id="t631" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">replaceFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">sNewText</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t620" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t621" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOldFile</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t622" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sOldText</span> <span class="op">=</span> <span class="nam">fOldFile</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t623" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">fOldFile</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t624" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sNewText</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">sOldText</span><span class="op">,</span> <span class="nam">fname</span><span class="op">=</span><span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t625" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">sOldText</span> <span class="op">!=</span> <span class="nam">sNewText</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t626" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&gt;=</span> <span class="num">1</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t627" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">verbosity</span> <span class="op">&lt;</span> <span class="num">2</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t628" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cogging %s&quot;</span> <span class="op">%</span> <span class="nam">sFile</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t629" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;&nbsp; (changed)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t630" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">bNeedNewline</span> <span class="op">=</span> <span class="nam">False</span><span class="strut">&nbsp;</span></p>
+<p id="t631" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">replaceFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">sNewText</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t632" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t633" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># The try-finally block is so we can print a partial line</span><span class="strut">&nbsp;</span></p>
<p id="t634" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># with the name of the file, and print (changed) on the</span><span class="strut">&nbsp;</span></p>
<p id="t635" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># same line, but also make sure to break the line before</span><span class="strut">&nbsp;</span></p>
<p id="t636" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># any traceback.</span><span class="strut">&nbsp;</span></p>
-<p id="t637" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">bNeedNewline</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t638" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t637" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">bNeedNewline</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t638" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t639" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t640" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t640" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="nam">sFile</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">stdout</span><span class="op">,</span> <span class="nam">sFile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t641" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t642" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">restoreIncludePath</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t642" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">restoreIncludePath</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t643" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t644" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processFileList</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFileList</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t645" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process the files in a file list.</span><span class="strut">&nbsp;</span></p>
<p id="t646" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t647" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">flist</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">sFileList</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t648" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lines</span> <span class="op">=</span> <span class="nam">flist</span><span class="op">.</span><span class="nam">readlines</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t649" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">flist</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t650" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">l</span> <span class="key">in</span> <span class="nam">lines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t647" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">flist</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">openInputFile</span><span class="op">(</span><span class="nam">sFileList</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t648" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lines</span> <span class="op">=</span> <span class="nam">flist</span><span class="op">.</span><span class="nam">readlines</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t649" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">flist</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t650" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">l</span> <span class="key">in</span> <span class="nam">lines</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t651" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Use shlex to parse the line like a shell.</span><span class="strut">&nbsp;</span></p>
-<p id="t652" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span> <span class="op">=</span> <span class="nam">shlex</span><span class="op">.</span><span class="nam">shlex</span><span class="op">(</span><span class="nam">l</span><span class="op">,</span> <span class="nam">posix</span><span class="op">=</span><span class="nam">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t653" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">whitespace_split</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t654" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">commenters</span> <span class="op">=</span> <span class="str">&#39;#&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t652" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span> <span class="op">=</span> <span class="nam">shlex</span><span class="op">.</span><span class="nam">shlex</span><span class="op">(</span><span class="nam">l</span><span class="op">,</span> <span class="nam">posix</span><span class="op">=</span><span class="nam">True</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t653" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">whitespace_split</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t654" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">commenters</span> <span class="op">=</span> <span class="str">&#39;#&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t655" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># No escapes, so that backslash can be part of the path</span><span class="strut">&nbsp;</span></p>
-<p id="t656" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">escape</span> <span class="op">=</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
-<p id="t657" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">args</span> <span class="op">=</span> <span class="nam">list</span><span class="op">(</span><span class="nam">lex</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t658" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t659" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processArguments</span><span class="op">(</span><span class="nam">args</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t656" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">lex</span><span class="op">.</span><span class="nam">escape</span> <span class="op">=</span> <span class="str">&#39;&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t657" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">args</span> <span class="op">=</span> <span class="nam">list</span><span class="op">(</span><span class="nam">lex</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t658" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t659" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processArguments</span><span class="op">(</span><span class="nam">args</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t660" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t661" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">processArguments</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">args</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t662" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Process one command-line.</span><span class="strut">&nbsp;</span></p>
<p id="t663" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t664" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">saved_options</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="strut">&nbsp;</span></p>
-<p id="t665" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">clone</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t664" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">saved_options</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="strut">&nbsp;</span></p>
+<p id="t665" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">clone</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t666" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t667" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t668" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">validate</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t667" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t668" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">validate</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t669" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t670" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">[</span><span class="num">0</span><span class="op">]</span> <span class="op">==</span> <span class="str">&#39;@&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t671" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t672" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -o with @file&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t673" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFileList</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t670" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">[</span><span class="num">0</span><span class="op">]</span> <span class="op">==</span> <span class="str">&#39;@&#39;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t671" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">sOutputName</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t672" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;Can&#39;t use -o with @file&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t673" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processFileList</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t674" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t675" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processOneFile</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t675" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processOneFile</span><span class="op">(</span><span class="nam">args</span><span class="op">[</span><span class="num">0</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t676" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t677" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">saved_options</span><span class="strut">&nbsp;</span></p>
+<p id="t677" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span> <span class="op">=</span> <span class="nam">saved_options</span><span class="strut">&nbsp;</span></p>
<p id="t678" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t679" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">callableMain</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">argv</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t680" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; All of command-line cog, but in a callable form.</span><span class="strut">&nbsp;</span></p>
<p id="t681" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; This is used by main.</span><span class="strut">&nbsp;</span></p>
<p id="t682" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; argv is the equivalent of sys.argv.</span><span class="strut">&nbsp;</span></p>
<p id="t683" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t684" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="nam">argv</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t684" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="nam">argv</span><span class="op">[</span><span class="num">1</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t685" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t686" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Provide help if asked for anywhere in the command line.</span><span class="strut">&nbsp;</span></p>
-<p id="t687" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="str">&#39;-?&#39;</span> <span class="key">in</span> <span class="nam">argv</span> <span class="key">or</span> <span class="str">&#39;-h&#39;</span> <span class="key">in</span> <span class="nam">argv</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t688" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">usage</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t689" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span><span class="strut">&nbsp;</span></p>
+<p id="t687" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="str">&#39;-?&#39;</span> <span class="key">in</span> <span class="nam">argv</span> <span class="key">or</span> <span class="str">&#39;-h&#39;</span> <span class="key">in</span> <span class="nam">argv</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t688" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">usage</span><span class="op">,</span> <span class="nam">end</span><span class="op">=</span><span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t689" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span><span class="strut">&nbsp;</span></p>
<p id="t690" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t691" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t692" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">validate</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t693" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_fixEndOutputPatterns</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t691" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t692" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">validate</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t693" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">_fixEndOutputPatterns</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t694" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t695" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bShowVersion</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t696" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cog version %s&quot;</span> <span class="op">%</span> <span class="nam">__version__</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t697" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span><span class="strut">&nbsp;</span></p>
+<p id="t695" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bShowVersion</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t696" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prout</span><span class="op">(</span><span class="str">&quot;Cog version %s&quot;</span> <span class="op">%</span> <span class="nam">__version__</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t697" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span><span class="strut">&nbsp;</span></p>
<p id="t698" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t699" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t700" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">a</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t701" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processArguments</span><span class="op">(</span><span class="op">[</span><span class="nam">a</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t699" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t700" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">a</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">args</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t701" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">processArguments</span><span class="op">(</span><span class="op">[</span><span class="nam">a</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t702" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t703" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;No files to process&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t703" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">raise</span> <span class="nam">CogUsageError</span><span class="op">(</span><span class="str">&quot;No files to process&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t704" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t705" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">main</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">argv</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t706" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Handle the command-line execution for cog.</span><span class="strut">&nbsp;</span></p>
<p id="t707" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t708" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t709" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t710" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t711" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">0</span><span class="strut">&nbsp;</span></p>
-<p id="t712" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogUsageError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t713" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t714" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="str">&quot;(for help use -?)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t715" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">2</span><span class="strut">&nbsp;</span></p>
-<p id="t716" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogGeneratedError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t717" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="str">&quot;Error: %s&quot;</span> <span class="op">%</span> <span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t718" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">3</span><span class="strut">&nbsp;</span></p>
-<p id="t719" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t720" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t721" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
-<p id="t722" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t723" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">traceback</span><span class="op">.</span><span class="nam">print_exc</span><span class="op">(</span><span class="nam">None</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t724" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
+<p id="t709" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t710" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t711" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">0</span><span class="strut">&nbsp;</span></p>
+<p id="t712" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogUsageError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t713" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t714" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="str">&quot;(for help use -?)&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t715" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">2</span><span class="strut">&nbsp;</span></p>
+<p id="t716" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogGeneratedError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t717" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="str">&quot;Error: %s&quot;</span> <span class="op">%</span> <span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t718" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">3</span><span class="strut">&nbsp;</span></p>
+<p id="t719" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span> <span class="nam">CogError</span> <span class="key">as</span> <span class="nam">err</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t720" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">prerr</span><span class="op">(</span><span class="nam">err</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t721" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
+<p id="t722" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">except</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t723" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">traceback</span><span class="op">.</span><span class="nam">print_exc</span><span class="op">(</span><span class="nam">None</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t724" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="num">1</span><span class="strut">&nbsp;</span></p>
<p id="t725" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t726" class="pln"><span class="com"># History:</span><span class="strut">&nbsp;</span></p>
<p id="t727" class="pln"><span class="com"># 20040210: First public version.</span><span class="strut">&nbsp;</span></p>
@@ -1631,8 +1631,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_makefiles_py.html b/doc/sample_html/cogapp_makefiles_py.html
index a2261347..a2514c8d 100644
--- a/doc/sample_html/cogapp_makefiles_py.html
+++ b/doc/sample_html/cogapp_makefiles_py.html
@@ -8,7 +8,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
- <title>Coverage for cogapp/makefiles.py: 64.29%</title>
+ <title>Coverage for cogapp/makefiles.py: 19.05%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
@@ -24,19 +24,19 @@
<div id="header">
<div class="content">
<h1>Coverage for <b>cogapp/makefiles.py</b> :
- <span class="pc_cov">64.29%</span>
+ <span class="pc_cov">19.05%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
28 statements &nbsp;
- <span class="run hide_run shortkey_r button_toggle_run">21 run</span>
- <span class="mis shortkey_m button_toggle_mis">7 missing</span>
+ <span class="run hide_run shortkey_r button_toggle_run">8 run</span>
+ <span class="mis shortkey_m button_toggle_mis">20 missing</span>
<span class="exc shortkey_x button_toggle_exc">3 excluded</span>
- <span class="par run hide_run shortkey_p button_toggle_par">2 partial</span>
+ <span class="par run hide_run shortkey_p button_toggle_par">0 partial</span>
</h2>
</div>
@@ -86,20 +86,20 @@
<p id="n15" class="stm run hide_run"><a href="#n15">15</a></p>
<p id="n16" class="pln"><a href="#n16">16</a></p>
<p id="n17" class="pln"><a href="#n17">17</a></p>
-<p id="n18" class="stm run hide_run"><a href="#n18">18</a></p>
-<p id="n19" class="stm run hide_run"><a href="#n19">19</a></p>
-<p id="n20" class="stm run hide_run"><a href="#n20">20</a></p>
-<p id="n21" class="stm run hide_run"><a href="#n21">21</a></p>
-<p id="n22" class="stm par run hide_run"><a href="#n22">22</a></p>
-<p id="n23" class="stm run hide_run"><a href="#n23">23</a></p>
-<p id="n24" class="stm run hide_run"><a href="#n24">24</a></p>
-<p id="n25" class="stm run hide_run"><a href="#n25">25</a></p>
-<p id="n26" class="stm run hide_run"><a href="#n26">26</a></p>
-<p id="n27" class="stm run hide_run"><a href="#n27">27</a></p>
+<p id="n18" class="stm mis"><a href="#n18">18</a></p>
+<p id="n19" class="stm mis"><a href="#n19">19</a></p>
+<p id="n20" class="stm mis"><a href="#n20">20</a></p>
+<p id="n21" class="stm mis"><a href="#n21">21</a></p>
+<p id="n22" class="stm mis"><a href="#n22">22</a></p>
+<p id="n23" class="stm mis"><a href="#n23">23</a></p>
+<p id="n24" class="stm mis"><a href="#n24">24</a></p>
+<p id="n25" class="stm mis"><a href="#n25">25</a></p>
+<p id="n26" class="stm mis"><a href="#n26">26</a></p>
+<p id="n27" class="stm mis"><a href="#n27">27</a></p>
<p id="n28" class="pln"><a href="#n28">28</a></p>
-<p id="n29" class="stm par run hide_run"><a href="#n29">29</a></p>
-<p id="n30" class="stm run hide_run"><a href="#n30">30</a></p>
-<p id="n31" class="stm run hide_run"><a href="#n31">31</a></p>
+<p id="n29" class="stm mis"><a href="#n29">29</a></p>
+<p id="n30" class="stm mis"><a href="#n30">30</a></p>
+<p id="n31" class="stm mis"><a href="#n31">31</a></p>
<p id="n32" class="pln"><a href="#n32">32</a></p>
<p id="n33" class="stm run hide_run"><a href="#n33">33</a></p>
<p id="n34" class="pln"><a href="#n34">34</a></p>
@@ -152,20 +152,20 @@
<p id="t15" class="stm run hide_run"><span class="key">def</span> <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">basedir</span><span class="op">=</span><span class="str">&#39;.&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t16" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Create files from the dictionary `d`, in the directory named by `basedir`.</span><span class="strut">&nbsp;</span></p>
<p id="t17" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t18" class="stm run hide_run">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">name</span><span class="op">,</span> <span class="nam">contents</span> <span class="key">in</span> <span class="nam">d</span><span class="op">.</span><span class="nam">items</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t19" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">child</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">basedir</span><span class="op">,</span> <span class="nam">name</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t20" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t21" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&#39;w&#39;</span><span class="strut">&nbsp;</span></p>
-<p id="t22" class="stm par run hide_run"><span class="annotate" title="Line 22 was executed, but never jumped to line 24">22&#x202F;&#x219B;&#x202F;24 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t23" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">+=</span> <span class="str">&quot;b&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t24" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">child</span><span class="op">,</span> <span class="nam">mode</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t25" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">contents</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">contents</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t26" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">contents</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t27" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t18" class="stm mis">&nbsp; &nbsp; <span class="key">for</span> <span class="nam">name</span><span class="op">,</span> <span class="nam">contents</span> <span class="key">in</span> <span class="nam">d</span><span class="op">.</span><span class="nam">items</span><span class="op">(</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t19" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">child</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">basedir</span><span class="op">,</span> <span class="nam">name</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t20" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">string_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t21" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">=</span> <span class="str">&#39;w&#39;</span><span class="strut">&nbsp;</span></p>
+<p id="t22" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">isinstance</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">bytes_types</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t23" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">mode</span> <span class="op">+=</span> <span class="str">&quot;b&quot;</span><span class="strut">&nbsp;</span></p>
+<p id="t24" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">child</span><span class="op">,</span> <span class="nam">mode</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t25" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">contents</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">contents</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t26" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">write</span><span class="op">(</span><span class="nam">contents</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t27" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t28" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">else</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t29" class="stm par run hide_run"><span class="annotate" title="Line 29 was executed, but never jumped to line 31">29&#x202F;&#x219B;&#x202F;31 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t30" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t31" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t29" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">exists</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t30" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t31" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">contents</span><span class="op">,</span> <span class="nam">child</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t32" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t33" class="stm run hide_run"><span class="key">def</span> <span class="nam">removeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">,</span> <span class="nam">basedir</span><span class="op">=</span><span class="str">&#39;.&#39;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t34" class="pln">&nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Remove the files created by makeFiles.</span><span class="strut">&nbsp;</span></p>
@@ -207,8 +207,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_test_cogapp_py.html b/doc/sample_html/cogapp_test_cogapp_py.html
index 6b5c5709..d6ee3711 100644
--- a/doc/sample_html/cogapp_test_cogapp_py.html
+++ b/doc/sample_html/cogapp_test_cogapp_py.html
@@ -8,7 +8,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
- <title>Coverage for cogapp/test_cogapp.py: 99.86%</title>
+ <title>Coverage for cogapp/test_cogapp.py: 30.99%</title>
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="jquery.min.js"></script>
@@ -24,19 +24,19 @@
<div id="header">
<div class="content">
<h1>Coverage for <b>cogapp/test_cogapp.py</b> :
- <span class="pc_cov">99.86%</span>
+ <span class="pc_cov">30.99%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
<h2 class="stats">
704 statements &nbsp;
- <span class="run hide_run shortkey_r button_toggle_run">704 run</span>
- <span class="mis shortkey_m button_toggle_mis">0 missing</span>
+ <span class="run hide_run shortkey_r button_toggle_run">218 run</span>
+ <span class="mis shortkey_m button_toggle_mis">486 missing</span>
<span class="exc shortkey_x button_toggle_exc">6 excluded</span>
- <span class="par run hide_run shortkey_p button_toggle_par">1 partial</span>
+ <span class="par run hide_run shortkey_p button_toggle_par">0 partial</span>
</h2>
</div>
@@ -500,46 +500,46 @@
<p id="n429" class="pln"><a href="#n429">429</a></p>
<p id="n430" class="pln"><a href="#n430">430</a></p>
<p id="n431" class="stm run hide_run"><a href="#n431">431</a></p>
-<p id="n432" class="stm run hide_run"><a href="#n432">432</a></p>
-<p id="n433" class="stm run hide_run"><a href="#n433">433</a></p>
-<p id="n434" class="stm run hide_run"><a href="#n434">434</a></p>
-<p id="n435" class="stm run hide_run"><a href="#n435">435</a></p>
-<p id="n436" class="stm run hide_run"><a href="#n436">436</a></p>
-<p id="n437" class="stm run hide_run"><a href="#n437">437</a></p>
-<p id="n438" class="stm run hide_run"><a href="#n438">438</a></p>
+<p id="n432" class="stm mis"><a href="#n432">432</a></p>
+<p id="n433" class="stm mis"><a href="#n433">433</a></p>
+<p id="n434" class="stm mis"><a href="#n434">434</a></p>
+<p id="n435" class="stm mis"><a href="#n435">435</a></p>
+<p id="n436" class="stm mis"><a href="#n436">436</a></p>
+<p id="n437" class="stm mis"><a href="#n437">437</a></p>
+<p id="n438" class="stm mis"><a href="#n438">438</a></p>
<p id="n439" class="pln"><a href="#n439">439</a></p>
<p id="n440" class="stm run hide_run"><a href="#n440">440</a></p>
-<p id="n441" class="stm run hide_run"><a href="#n441">441</a></p>
-<p id="n442" class="stm run hide_run"><a href="#n442">442</a></p>
-<p id="n443" class="stm run hide_run"><a href="#n443">443</a></p>
-<p id="n444" class="stm run hide_run"><a href="#n444">444</a></p>
-<p id="n445" class="stm run hide_run"><a href="#n445">445</a></p>
-<p id="n446" class="stm run hide_run"><a href="#n446">446</a></p>
-<p id="n447" class="stm run hide_run"><a href="#n447">447</a></p>
-<p id="n448" class="stm run hide_run"><a href="#n448">448</a></p>
-<p id="n449" class="stm run hide_run"><a href="#n449">449</a></p>
+<p id="n441" class="stm mis"><a href="#n441">441</a></p>
+<p id="n442" class="stm mis"><a href="#n442">442</a></p>
+<p id="n443" class="stm mis"><a href="#n443">443</a></p>
+<p id="n444" class="stm mis"><a href="#n444">444</a></p>
+<p id="n445" class="stm mis"><a href="#n445">445</a></p>
+<p id="n446" class="stm mis"><a href="#n446">446</a></p>
+<p id="n447" class="stm mis"><a href="#n447">447</a></p>
+<p id="n448" class="stm mis"><a href="#n448">448</a></p>
+<p id="n449" class="stm mis"><a href="#n449">449</a></p>
<p id="n450" class="pln"><a href="#n450">450</a></p>
<p id="n451" class="stm run hide_run"><a href="#n451">451</a></p>
<p id="n452" class="pln"><a href="#n452">452</a></p>
-<p id="n453" class="stm run hide_run"><a href="#n453">453</a></p>
-<p id="n454" class="stm run hide_run"><a href="#n454">454</a></p>
-<p id="n455" class="stm run hide_run"><a href="#n455">455</a></p>
-<p id="n456" class="stm run hide_run"><a href="#n456">456</a></p>
-<p id="n457" class="stm run hide_run"><a href="#n457">457</a></p>
+<p id="n453" class="stm mis"><a href="#n453">453</a></p>
+<p id="n454" class="stm mis"><a href="#n454">454</a></p>
+<p id="n455" class="stm mis"><a href="#n455">455</a></p>
+<p id="n456" class="stm mis"><a href="#n456">456</a></p>
+<p id="n457" class="stm mis"><a href="#n457">457</a></p>
<p id="n458" class="pln"><a href="#n458">458</a></p>
<p id="n459" class="stm run hide_run"><a href="#n459">459</a></p>
-<p id="n460" class="stm run hide_run"><a href="#n460">460</a></p>
-<p id="n461" class="stm run hide_run"><a href="#n461">461</a></p>
-<p id="n462" class="stm run hide_run"><a href="#n462">462</a></p>
-<p id="n463" class="stm run hide_run"><a href="#n463">463</a></p>
-<p id="n464" class="stm run hide_run"><a href="#n464">464</a></p>
+<p id="n460" class="stm mis"><a href="#n460">460</a></p>
+<p id="n461" class="stm mis"><a href="#n461">461</a></p>
+<p id="n462" class="stm mis"><a href="#n462">462</a></p>
+<p id="n463" class="stm mis"><a href="#n463">463</a></p>
+<p id="n464" class="stm mis"><a href="#n464">464</a></p>
<p id="n465" class="pln"><a href="#n465">465</a></p>
<p id="n466" class="stm run hide_run"><a href="#n466">466</a></p>
-<p id="n467" class="stm run hide_run"><a href="#n467">467</a></p>
-<p id="n468" class="stm run hide_run"><a href="#n468">468</a></p>
-<p id="n469" class="stm run hide_run"><a href="#n469">469</a></p>
-<p id="n470" class="stm run hide_run"><a href="#n470">470</a></p>
-<p id="n471" class="stm run hide_run"><a href="#n471">471</a></p>
+<p id="n467" class="stm mis"><a href="#n467">467</a></p>
+<p id="n468" class="stm mis"><a href="#n468">468</a></p>
+<p id="n469" class="stm mis"><a href="#n469">469</a></p>
+<p id="n470" class="stm mis"><a href="#n470">470</a></p>
+<p id="n471" class="stm mis"><a href="#n471">471</a></p>
<p id="n472" class="pln"><a href="#n472">472</a></p>
<p id="n473" class="pln"><a href="#n473">473</a></p>
<p id="n474" class="stm run hide_run"><a href="#n474">474</a></p>
@@ -548,28 +548,28 @@
<p id="n477" class="pln"><a href="#n477">477</a></p>
<p id="n478" class="pln"><a href="#n478">478</a></p>
<p id="n479" class="stm run hide_run"><a href="#n479">479</a></p>
-<p id="n480" class="stm run hide_run"><a href="#n480">480</a></p>
-<p id="n481" class="stm run hide_run"><a href="#n481">481</a></p>
-<p id="n482" class="stm run hide_run"><a href="#n482">482</a></p>
+<p id="n480" class="stm mis"><a href="#n480">480</a></p>
+<p id="n481" class="stm mis"><a href="#n481">481</a></p>
+<p id="n482" class="stm mis"><a href="#n482">482</a></p>
<p id="n483" class="pln"><a href="#n483">483</a></p>
<p id="n484" class="stm run hide_run"><a href="#n484">484</a></p>
-<p id="n485" class="stm run hide_run"><a href="#n485">485</a></p>
+<p id="n485" class="stm mis"><a href="#n485">485</a></p>
<p id="n486" class="pln"><a href="#n486">486</a></p>
<p id="n487" class="pln"><a href="#n487">487</a></p>
<p id="n488" class="pln"><a href="#n488">488</a></p>
<p id="n489" class="pln"><a href="#n489">489</a></p>
-<p id="n490" class="stm run hide_run"><a href="#n490">490</a></p>
+<p id="n490" class="stm mis"><a href="#n490">490</a></p>
<p id="n491" class="pln"><a href="#n491">491</a></p>
<p id="n492" class="stm run hide_run"><a href="#n492">492</a></p>
-<p id="n493" class="stm run hide_run"><a href="#n493">493</a></p>
+<p id="n493" class="stm mis"><a href="#n493">493</a></p>
<p id="n494" class="pln"><a href="#n494">494</a></p>
<p id="n495" class="pln"><a href="#n495">495</a></p>
<p id="n496" class="pln"><a href="#n496">496</a></p>
<p id="n497" class="pln"><a href="#n497">497</a></p>
<p id="n498" class="pln"><a href="#n498">498</a></p>
-<p id="n499" class="stm run hide_run"><a href="#n499">499</a></p>
+<p id="n499" class="stm mis"><a href="#n499">499</a></p>
<p id="n500" class="pln"><a href="#n500">500</a></p>
-<p id="n501" class="stm run hide_run"><a href="#n501">501</a></p>
+<p id="n501" class="stm mis"><a href="#n501">501</a></p>
<p id="n502" class="pln"><a href="#n502">502</a></p>
<p id="n503" class="pln"><a href="#n503">503</a></p>
<p id="n504" class="pln"><a href="#n504">504</a></p>
@@ -578,47 +578,47 @@
<p id="n507" class="pln"><a href="#n507">507</a></p>
<p id="n508" class="pln"><a href="#n508">508</a></p>
<p id="n509" class="pln"><a href="#n509">509</a></p>
-<p id="n510" class="stm run hide_run"><a href="#n510">510</a></p>
+<p id="n510" class="stm mis"><a href="#n510">510</a></p>
<p id="n511" class="pln"><a href="#n511">511</a></p>
<p id="n512" class="stm run hide_run"><a href="#n512">512</a></p>
-<p id="n513" class="stm run hide_run"><a href="#n513">513</a></p>
+<p id="n513" class="stm mis"><a href="#n513">513</a></p>
<p id="n514" class="pln"><a href="#n514">514</a></p>
<p id="n515" class="pln"><a href="#n515">515</a></p>
-<p id="n516" class="stm run hide_run"><a href="#n516">516</a></p>
+<p id="n516" class="stm mis"><a href="#n516">516</a></p>
<p id="n517" class="pln"><a href="#n517">517</a></p>
-<p id="n518" class="stm run hide_run"><a href="#n518">518</a></p>
+<p id="n518" class="stm mis"><a href="#n518">518</a></p>
<p id="n519" class="pln"><a href="#n519">519</a></p>
<p id="n520" class="pln"><a href="#n520">520</a></p>
<p id="n521" class="pln"><a href="#n521">521</a></p>
<p id="n522" class="pln"><a href="#n522">522</a></p>
<p id="n523" class="pln"><a href="#n523">523</a></p>
<p id="n524" class="pln"><a href="#n524">524</a></p>
-<p id="n525" class="stm run hide_run"><a href="#n525">525</a></p>
+<p id="n525" class="stm mis"><a href="#n525">525</a></p>
<p id="n526" class="pln"><a href="#n526">526</a></p>
<p id="n527" class="stm run hide_run"><a href="#n527">527</a></p>
-<p id="n528" class="stm run hide_run"><a href="#n528">528</a></p>
+<p id="n528" class="stm mis"><a href="#n528">528</a></p>
<p id="n529" class="pln"><a href="#n529">529</a></p>
<p id="n530" class="pln"><a href="#n530">530</a></p>
-<p id="n531" class="stm run hide_run"><a href="#n531">531</a></p>
+<p id="n531" class="stm mis"><a href="#n531">531</a></p>
<p id="n532" class="pln"><a href="#n532">532</a></p>
-<p id="n533" class="stm run hide_run"><a href="#n533">533</a></p>
+<p id="n533" class="stm mis"><a href="#n533">533</a></p>
<p id="n534" class="pln"><a href="#n534">534</a></p>
<p id="n535" class="pln"><a href="#n535">535</a></p>
<p id="n536" class="pln"><a href="#n536">536</a></p>
<p id="n537" class="pln"><a href="#n537">537</a></p>
<p id="n538" class="pln"><a href="#n538">538</a></p>
<p id="n539" class="pln"><a href="#n539">539</a></p>
-<p id="n540" class="stm run hide_run"><a href="#n540">540</a></p>
+<p id="n540" class="stm mis"><a href="#n540">540</a></p>
<p id="n541" class="pln"><a href="#n541">541</a></p>
<p id="n542" class="stm run hide_run"><a href="#n542">542</a></p>
-<p id="n543" class="stm run hide_run"><a href="#n543">543</a></p>
+<p id="n543" class="stm mis"><a href="#n543">543</a></p>
<p id="n544" class="pln"><a href="#n544">544</a></p>
<p id="n545" class="pln"><a href="#n545">545</a></p>
<p id="n546" class="pln"><a href="#n546">546</a></p>
<p id="n547" class="pln"><a href="#n547">547</a></p>
-<p id="n548" class="stm run hide_run"><a href="#n548">548</a></p>
+<p id="n548" class="stm mis"><a href="#n548">548</a></p>
<p id="n549" class="pln"><a href="#n549">549</a></p>
-<p id="n550" class="stm run hide_run"><a href="#n550">550</a></p>
+<p id="n550" class="stm mis"><a href="#n550">550</a></p>
<p id="n551" class="pln"><a href="#n551">551</a></p>
<p id="n552" class="pln"><a href="#n552">552</a></p>
<p id="n553" class="pln"><a href="#n553">553</a></p>
@@ -627,19 +627,19 @@
<p id="n556" class="pln"><a href="#n556">556</a></p>
<p id="n557" class="pln"><a href="#n557">557</a></p>
<p id="n558" class="pln"><a href="#n558">558</a></p>
-<p id="n559" class="stm run hide_run"><a href="#n559">559</a></p>
+<p id="n559" class="stm mis"><a href="#n559">559</a></p>
<p id="n560" class="pln"><a href="#n560">560</a></p>
<p id="n561" class="stm run hide_run"><a href="#n561">561</a></p>
-<p id="n562" class="stm run hide_run"><a href="#n562">562</a></p>
+<p id="n562" class="stm mis"><a href="#n562">562</a></p>
<p id="n563" class="pln"><a href="#n563">563</a></p>
<p id="n564" class="pln"><a href="#n564">564</a></p>
<p id="n565" class="pln"><a href="#n565">565</a></p>
<p id="n566" class="pln"><a href="#n566">566</a></p>
<p id="n567" class="pln"><a href="#n567">567</a></p>
<p id="n568" class="pln"><a href="#n568">568</a></p>
-<p id="n569" class="stm run hide_run"><a href="#n569">569</a></p>
+<p id="n569" class="stm mis"><a href="#n569">569</a></p>
<p id="n570" class="pln"><a href="#n570">570</a></p>
-<p id="n571" class="stm run hide_run"><a href="#n571">571</a></p>
+<p id="n571" class="stm mis"><a href="#n571">571</a></p>
<p id="n572" class="pln"><a href="#n572">572</a></p>
<p id="n573" class="pln"><a href="#n573">573</a></p>
<p id="n574" class="pln"><a href="#n574">574</a></p>
@@ -650,19 +650,19 @@
<p id="n579" class="pln"><a href="#n579">579</a></p>
<p id="n580" class="pln"><a href="#n580">580</a></p>
<p id="n581" class="pln"><a href="#n581">581</a></p>
-<p id="n582" class="stm run hide_run"><a href="#n582">582</a></p>
+<p id="n582" class="stm mis"><a href="#n582">582</a></p>
<p id="n583" class="pln"><a href="#n583">583</a></p>
<p id="n584" class="stm run hide_run"><a href="#n584">584</a></p>
-<p id="n585" class="stm run hide_run"><a href="#n585">585</a></p>
+<p id="n585" class="stm mis"><a href="#n585">585</a></p>
<p id="n586" class="pln"><a href="#n586">586</a></p>
<p id="n587" class="pln"><a href="#n587">587</a></p>
<p id="n588" class="pln"><a href="#n588">588</a></p>
<p id="n589" class="pln"><a href="#n589">589</a></p>
<p id="n590" class="pln"><a href="#n590">590</a></p>
<p id="n591" class="pln"><a href="#n591">591</a></p>
-<p id="n592" class="stm run hide_run"><a href="#n592">592</a></p>
+<p id="n592" class="stm mis"><a href="#n592">592</a></p>
<p id="n593" class="pln"><a href="#n593">593</a></p>
-<p id="n594" class="stm run hide_run"><a href="#n594">594</a></p>
+<p id="n594" class="stm mis"><a href="#n594">594</a></p>
<p id="n595" class="pln"><a href="#n595">595</a></p>
<p id="n596" class="pln"><a href="#n596">596</a></p>
<p id="n597" class="pln"><a href="#n597">597</a></p>
@@ -673,7 +673,7 @@
<p id="n602" class="pln"><a href="#n602">602</a></p>
<p id="n603" class="pln"><a href="#n603">603</a></p>
<p id="n604" class="pln"><a href="#n604">604</a></p>
-<p id="n605" class="stm run hide_run"><a href="#n605">605</a></p>
+<p id="n605" class="stm mis"><a href="#n605">605</a></p>
<p id="n606" class="pln"><a href="#n606">606</a></p>
<p id="n607" class="pln"><a href="#n607">607</a></p>
<p id="n608" class="stm run hide_run"><a href="#n608">608</a></p>
@@ -681,27 +681,27 @@
<p id="n610" class="pln"><a href="#n610">610</a></p>
<p id="n611" class="pln"><a href="#n611">611</a></p>
<p id="n612" class="stm run hide_run"><a href="#n612">612</a></p>
-<p id="n613" class="stm run hide_run"><a href="#n613">613</a></p>
+<p id="n613" class="stm mis"><a href="#n613">613</a></p>
<p id="n614" class="pln"><a href="#n614">614</a></p>
<p id="n615" class="pln"><a href="#n615">615</a></p>
<p id="n616" class="pln"><a href="#n616">616</a></p>
<p id="n617" class="pln"><a href="#n617">617</a></p>
-<p id="n618" class="stm run hide_run"><a href="#n618">618</a></p>
-<p id="n619" class="stm run hide_run"><a href="#n619">619</a></p>
-<p id="n620" class="stm run hide_run"><a href="#n620">620</a></p>
+<p id="n618" class="stm mis"><a href="#n618">618</a></p>
+<p id="n619" class="stm mis"><a href="#n619">619</a></p>
+<p id="n620" class="stm mis"><a href="#n620">620</a></p>
<p id="n621" class="pln"><a href="#n621">621</a></p>
<p id="n622" class="stm run hide_run"><a href="#n622">622</a></p>
-<p id="n623" class="stm run hide_run"><a href="#n623">623</a></p>
+<p id="n623" class="stm mis"><a href="#n623">623</a></p>
<p id="n624" class="pln"><a href="#n624">624</a></p>
<p id="n625" class="pln"><a href="#n625">625</a></p>
<p id="n626" class="pln"><a href="#n626">626</a></p>
<p id="n627" class="pln"><a href="#n627">627</a></p>
-<p id="n628" class="stm run hide_run"><a href="#n628">628</a></p>
-<p id="n629" class="stm run hide_run"><a href="#n629">629</a></p>
-<p id="n630" class="stm run hide_run"><a href="#n630">630</a></p>
+<p id="n628" class="stm mis"><a href="#n628">628</a></p>
+<p id="n629" class="stm mis"><a href="#n629">629</a></p>
+<p id="n630" class="stm mis"><a href="#n630">630</a></p>
<p id="n631" class="pln"><a href="#n631">631</a></p>
<p id="n632" class="stm run hide_run"><a href="#n632">632</a></p>
-<p id="n633" class="stm run hide_run"><a href="#n633">633</a></p>
+<p id="n633" class="stm mis"><a href="#n633">633</a></p>
<p id="n634" class="pln"><a href="#n634">634</a></p>
<p id="n635" class="pln"><a href="#n635">635</a></p>
<p id="n636" class="pln"><a href="#n636">636</a></p>
@@ -715,8 +715,8 @@
<p id="n644" class="pln"><a href="#n644">644</a></p>
<p id="n645" class="pln"><a href="#n645">645</a></p>
<p id="n646" class="pln"><a href="#n646">646</a></p>
-<p id="n647" class="stm run hide_run"><a href="#n647">647</a></p>
-<p id="n648" class="stm run hide_run"><a href="#n648">648</a></p>
+<p id="n647" class="stm mis"><a href="#n647">647</a></p>
+<p id="n648" class="stm mis"><a href="#n648">648</a></p>
<p id="n649" class="pln"><a href="#n649">649</a></p>
<p id="n650" class="pln"><a href="#n650">650</a></p>
<p id="n651" class="stm run hide_run"><a href="#n651">651</a></p>
@@ -728,63 +728,63 @@
<p id="n657" class="pln"><a href="#n657">657</a></p>
<p id="n658" class="pln"><a href="#n658">658</a></p>
<p id="n659" class="pln"><a href="#n659">659</a></p>
-<p id="n660" class="stm run hide_run"><a href="#n660">660</a></p>
-<p id="n661" class="stm run hide_run"><a href="#n661">661</a></p>
-<p id="n662" class="stm run hide_run"><a href="#n662">662</a></p>
+<p id="n660" class="stm mis"><a href="#n660">660</a></p>
+<p id="n661" class="stm mis"><a href="#n661">661</a></p>
+<p id="n662" class="stm mis"><a href="#n662">662</a></p>
<p id="n663" class="pln"><a href="#n663">663</a></p>
<p id="n664" class="stm run hide_run"><a href="#n664">664</a></p>
-<p id="n665" class="stm run hide_run"><a href="#n665">665</a></p>
-<p id="n666" class="stm run hide_run"><a href="#n666">666</a></p>
-<p id="n667" class="stm run hide_run"><a href="#n667">667</a></p>
+<p id="n665" class="stm mis"><a href="#n665">665</a></p>
+<p id="n666" class="stm mis"><a href="#n666">666</a></p>
+<p id="n667" class="stm mis"><a href="#n667">667</a></p>
<p id="n668" class="pln"><a href="#n668">668</a></p>
<p id="n669" class="stm run hide_run"><a href="#n669">669</a></p>
-<p id="n670" class="stm run hide_run"><a href="#n670">670</a></p>
-<p id="n671" class="stm run hide_run"><a href="#n671">671</a></p>
-<p id="n672" class="stm run hide_run"><a href="#n672">672</a></p>
-<p id="n673" class="stm run hide_run"><a href="#n673">673</a></p>
-<p id="n674" class="stm run hide_run"><a href="#n674">674</a></p>
+<p id="n670" class="stm mis"><a href="#n670">670</a></p>
+<p id="n671" class="stm mis"><a href="#n671">671</a></p>
+<p id="n672" class="stm mis"><a href="#n672">672</a></p>
+<p id="n673" class="stm mis"><a href="#n673">673</a></p>
+<p id="n674" class="stm mis"><a href="#n674">674</a></p>
<p id="n675" class="pln"><a href="#n675">675</a></p>
<p id="n676" class="stm run hide_run"><a href="#n676">676</a></p>
<p id="n677" class="pln"><a href="#n677">677</a></p>
-<p id="n678" class="stm run hide_run"><a href="#n678">678</a></p>
-<p id="n679" class="stm run hide_run"><a href="#n679">679</a></p>
-<p id="n680" class="stm run hide_run"><a href="#n680">680</a></p>
-<p id="n681" class="stm run hide_run"><a href="#n681">681</a></p>
-<p id="n682" class="stm run hide_run"><a href="#n682">682</a></p>
+<p id="n678" class="stm mis"><a href="#n678">678</a></p>
+<p id="n679" class="stm mis"><a href="#n679">679</a></p>
+<p id="n680" class="stm mis"><a href="#n680">680</a></p>
+<p id="n681" class="stm mis"><a href="#n681">681</a></p>
+<p id="n682" class="stm mis"><a href="#n682">682</a></p>
<p id="n683" class="pln"><a href="#n683">683</a></p>
<p id="n684" class="stm run hide_run"><a href="#n684">684</a></p>
<p id="n685" class="pln"><a href="#n685">685</a></p>
-<p id="n686" class="stm run hide_run"><a href="#n686">686</a></p>
-<p id="n687" class="stm run hide_run"><a href="#n687">687</a></p>
-<p id="n688" class="stm run hide_run"><a href="#n688">688</a></p>
-<p id="n689" class="stm run hide_run"><a href="#n689">689</a></p>
-<p id="n690" class="stm run hide_run"><a href="#n690">690</a></p>
+<p id="n686" class="stm mis"><a href="#n686">686</a></p>
+<p id="n687" class="stm mis"><a href="#n687">687</a></p>
+<p id="n688" class="stm mis"><a href="#n688">688</a></p>
+<p id="n689" class="stm mis"><a href="#n689">689</a></p>
+<p id="n690" class="stm mis"><a href="#n690">690</a></p>
<p id="n691" class="pln"><a href="#n691">691</a></p>
<p id="n692" class="stm run hide_run"><a href="#n692">692</a></p>
<p id="n693" class="pln"><a href="#n693">693</a></p>
-<p id="n694" class="stm run hide_run"><a href="#n694">694</a></p>
-<p id="n695" class="stm run hide_run"><a href="#n695">695</a></p>
-<p id="n696" class="stm run hide_run"><a href="#n696">696</a></p>
-<p id="n697" class="stm run hide_run"><a href="#n697">697</a></p>
-<p id="n698" class="stm run hide_run"><a href="#n698">698</a></p>
+<p id="n694" class="stm mis"><a href="#n694">694</a></p>
+<p id="n695" class="stm mis"><a href="#n695">695</a></p>
+<p id="n696" class="stm mis"><a href="#n696">696</a></p>
+<p id="n697" class="stm mis"><a href="#n697">697</a></p>
+<p id="n698" class="stm mis"><a href="#n698">698</a></p>
<p id="n699" class="pln"><a href="#n699">699</a></p>
<p id="n700" class="stm run hide_run"><a href="#n700">700</a></p>
<p id="n701" class="pln"><a href="#n701">701</a></p>
-<p id="n702" class="stm run hide_run"><a href="#n702">702</a></p>
-<p id="n703" class="stm run hide_run"><a href="#n703">703</a></p>
-<p id="n704" class="stm run hide_run"><a href="#n704">704</a></p>
-<p id="n705" class="stm run hide_run"><a href="#n705">705</a></p>
-<p id="n706" class="stm run hide_run"><a href="#n706">706</a></p>
+<p id="n702" class="stm mis"><a href="#n702">702</a></p>
+<p id="n703" class="stm mis"><a href="#n703">703</a></p>
+<p id="n704" class="stm mis"><a href="#n704">704</a></p>
+<p id="n705" class="stm mis"><a href="#n705">705</a></p>
+<p id="n706" class="stm mis"><a href="#n706">706</a></p>
<p id="n707" class="pln"><a href="#n707">707</a></p>
<p id="n708" class="stm run hide_run"><a href="#n708">708</a></p>
<p id="n709" class="pln"><a href="#n709">709</a></p>
<p id="n710" class="pln"><a href="#n710">710</a></p>
-<p id="n711" class="stm run hide_run"><a href="#n711">711</a></p>
-<p id="n712" class="stm run hide_run"><a href="#n712">712</a></p>
-<p id="n713" class="stm run hide_run"><a href="#n713">713</a></p>
-<p id="n714" class="stm run hide_run"><a href="#n714">714</a></p>
-<p id="n715" class="stm run hide_run"><a href="#n715">715</a></p>
-<p id="n716" class="stm run hide_run"><a href="#n716">716</a></p>
+<p id="n711" class="stm mis"><a href="#n711">711</a></p>
+<p id="n712" class="stm mis"><a href="#n712">712</a></p>
+<p id="n713" class="stm mis"><a href="#n713">713</a></p>
+<p id="n714" class="stm mis"><a href="#n714">714</a></p>
+<p id="n715" class="stm mis"><a href="#n715">715</a></p>
+<p id="n716" class="stm mis"><a href="#n716">716</a></p>
<p id="n717" class="pln"><a href="#n717">717</a></p>
<p id="n718" class="pln"><a href="#n718">718</a></p>
<p id="n719" class="stm run hide_run"><a href="#n719">719</a></p>
@@ -793,92 +793,92 @@
<p id="n722" class="pln"><a href="#n722">722</a></p>
<p id="n723" class="pln"><a href="#n723">723</a></p>
<p id="n724" class="pln"><a href="#n724">724</a></p>
-<p id="n725" class="stm run hide_run"><a href="#n725">725</a></p>
-<p id="n726" class="stm run hide_run"><a href="#n726">726</a></p>
-<p id="n727" class="stm run hide_run"><a href="#n727">727</a></p>
+<p id="n725" class="stm mis"><a href="#n725">725</a></p>
+<p id="n726" class="stm mis"><a href="#n726">726</a></p>
+<p id="n727" class="stm mis"><a href="#n727">727</a></p>
<p id="n728" class="pln"><a href="#n728">728</a></p>
<p id="n729" class="stm run hide_run"><a href="#n729">729</a></p>
<p id="n730" class="pln"><a href="#n730">730</a></p>
-<p id="n731" class="stm run hide_run"><a href="#n731">731</a></p>
-<p id="n732" class="stm run hide_run"><a href="#n732">732</a></p>
-<p id="n733" class="stm run hide_run"><a href="#n733">733</a></p>
-<p id="n734" class="stm run hide_run"><a href="#n734">734</a></p>
-<p id="n735" class="stm run hide_run"><a href="#n735">735</a></p>
+<p id="n731" class="stm mis"><a href="#n731">731</a></p>
+<p id="n732" class="stm mis"><a href="#n732">732</a></p>
+<p id="n733" class="stm mis"><a href="#n733">733</a></p>
+<p id="n734" class="stm mis"><a href="#n734">734</a></p>
+<p id="n735" class="stm mis"><a href="#n735">735</a></p>
<p id="n736" class="pln"><a href="#n736">736</a></p>
<p id="n737" class="stm run hide_run"><a href="#n737">737</a></p>
-<p id="n738" class="stm run hide_run"><a href="#n738">738</a></p>
+<p id="n738" class="stm mis"><a href="#n738">738</a></p>
<p id="n739" class="pln"><a href="#n739">739</a></p>
-<p id="n740" class="stm run hide_run"><a href="#n740">740</a></p>
+<p id="n740" class="stm mis"><a href="#n740">740</a></p>
<p id="n741" class="pln"><a href="#n741">741</a></p>
<p id="n742" class="stm run hide_run"><a href="#n742">742</a></p>
-<p id="n743" class="stm run hide_run"><a href="#n743">743</a></p>
-<p id="n744" class="stm run hide_run"><a href="#n744">744</a></p>
-<p id="n745" class="stm run hide_run"><a href="#n745">745</a></p>
+<p id="n743" class="stm mis"><a href="#n743">743</a></p>
+<p id="n744" class="stm mis"><a href="#n744">744</a></p>
+<p id="n745" class="stm mis"><a href="#n745">745</a></p>
<p id="n746" class="pln"><a href="#n746">746</a></p>
<p id="n747" class="stm run hide_run"><a href="#n747">747</a></p>
-<p id="n748" class="stm run hide_run"><a href="#n748">748</a></p>
-<p id="n749" class="stm run hide_run"><a href="#n749">749</a></p>
-<p id="n750" class="stm run hide_run"><a href="#n750">750</a></p>
-<p id="n751" class="stm run hide_run"><a href="#n751">751</a></p>
+<p id="n748" class="stm mis"><a href="#n748">748</a></p>
+<p id="n749" class="stm mis"><a href="#n749">749</a></p>
+<p id="n750" class="stm mis"><a href="#n750">750</a></p>
+<p id="n751" class="stm mis"><a href="#n751">751</a></p>
<p id="n752" class="pln"><a href="#n752">752</a></p>
-<p id="n753" class="stm run hide_run"><a href="#n753">753</a></p>
-<p id="n754" class="stm run hide_run"><a href="#n754">754</a></p>
+<p id="n753" class="stm mis"><a href="#n753">753</a></p>
+<p id="n754" class="stm mis"><a href="#n754">754</a></p>
<p id="n755" class="pln"><a href="#n755">755</a></p>
<p id="n756" class="pln"><a href="#n756">756</a></p>
<p id="n757" class="stm run hide_run"><a href="#n757">757</a></p>
<p id="n758" class="pln"><a href="#n758">758</a></p>
<p id="n759" class="stm run hide_run"><a href="#n759">759</a></p>
<p id="n760" class="pln"><a href="#n760">760</a></p>
-<p id="n761" class="stm run hide_run"><a href="#n761">761</a></p>
-<p id="n762" class="stm run hide_run"><a href="#n762">762</a></p>
-<p id="n763" class="stm run hide_run"><a href="#n763">763</a></p>
-<p id="n764" class="stm run hide_run"><a href="#n764">764</a></p>
-<p id="n765" class="stm run hide_run"><a href="#n765">765</a></p>
-<p id="n766" class="stm run hide_run"><a href="#n766">766</a></p>
-<p id="n767" class="stm run hide_run"><a href="#n767">767</a></p>
+<p id="n761" class="stm mis"><a href="#n761">761</a></p>
+<p id="n762" class="stm mis"><a href="#n762">762</a></p>
+<p id="n763" class="stm mis"><a href="#n763">763</a></p>
+<p id="n764" class="stm mis"><a href="#n764">764</a></p>
+<p id="n765" class="stm mis"><a href="#n765">765</a></p>
+<p id="n766" class="stm mis"><a href="#n766">766</a></p>
+<p id="n767" class="stm mis"><a href="#n767">767</a></p>
<p id="n768" class="pln"><a href="#n768">768</a></p>
<p id="n769" class="stm run hide_run"><a href="#n769">769</a></p>
-<p id="n770" class="stm run hide_run"><a href="#n770">770</a></p>
+<p id="n770" class="stm mis"><a href="#n770">770</a></p>
<p id="n771" class="pln"><a href="#n771">771</a></p>
<p id="n772" class="pln"><a href="#n772">772</a></p>
<p id="n773" class="pln"><a href="#n773">773</a></p>
<p id="n774" class="pln"><a href="#n774">774</a></p>
<p id="n775" class="pln"><a href="#n775">775</a></p>
-<p id="n776" class="stm run hide_run"><a href="#n776">776</a></p>
-<p id="n777" class="stm run hide_run"><a href="#n777">777</a></p>
-<p id="n778" class="stm run hide_run"><a href="#n778">778</a></p>
+<p id="n776" class="stm mis"><a href="#n776">776</a></p>
+<p id="n777" class="stm mis"><a href="#n777">777</a></p>
+<p id="n778" class="stm mis"><a href="#n778">778</a></p>
<p id="n779" class="pln"><a href="#n779">779</a></p>
<p id="n780" class="stm run hide_run"><a href="#n780">780</a></p>
-<p id="n781" class="stm run hide_run"><a href="#n781">781</a></p>
-<p id="n782" class="stm run hide_run"><a href="#n782">782</a></p>
-<p id="n783" class="stm run hide_run"><a href="#n783">783</a></p>
+<p id="n781" class="stm mis"><a href="#n781">781</a></p>
+<p id="n782" class="stm mis"><a href="#n782">782</a></p>
+<p id="n783" class="stm mis"><a href="#n783">783</a></p>
<p id="n784" class="pln"><a href="#n784">784</a></p>
<p id="n785" class="stm run hide_run"><a href="#n785">785</a></p>
-<p id="n786" class="stm run hide_run"><a href="#n786">786</a></p>
-<p id="n787" class="stm run hide_run"><a href="#n787">787</a></p>
-<p id="n788" class="stm run hide_run"><a href="#n788">788</a></p>
-<p id="n789" class="stm run hide_run"><a href="#n789">789</a></p>
+<p id="n786" class="stm mis"><a href="#n786">786</a></p>
+<p id="n787" class="stm mis"><a href="#n787">787</a></p>
+<p id="n788" class="stm mis"><a href="#n788">788</a></p>
+<p id="n789" class="stm mis"><a href="#n789">789</a></p>
<p id="n790" class="pln"><a href="#n790">790</a></p>
<p id="n791" class="stm run hide_run"><a href="#n791">791</a></p>
<p id="n792" class="pln"><a href="#n792">792</a></p>
-<p id="n793" class="stm run hide_run"><a href="#n793">793</a></p>
-<p id="n794" class="stm run hide_run"><a href="#n794">794</a></p>
-<p id="n795" class="stm run hide_run"><a href="#n795">795</a></p>
-<p id="n796" class="stm run hide_run"><a href="#n796">796</a></p>
+<p id="n793" class="stm mis"><a href="#n793">793</a></p>
+<p id="n794" class="stm mis"><a href="#n794">794</a></p>
+<p id="n795" class="stm mis"><a href="#n795">795</a></p>
+<p id="n796" class="stm mis"><a href="#n796">796</a></p>
<p id="n797" class="pln"><a href="#n797">797</a></p>
<p id="n798" class="stm run hide_run"><a href="#n798">798</a></p>
-<p id="n799" class="stm run hide_run"><a href="#n799">799</a></p>
+<p id="n799" class="stm mis"><a href="#n799">799</a></p>
<p id="n800" class="pln"><a href="#n800">800</a></p>
<p id="n801" class="pln"><a href="#n801">801</a></p>
<p id="n802" class="pln"><a href="#n802">802</a></p>
<p id="n803" class="pln"><a href="#n803">803</a></p>
<p id="n804" class="pln"><a href="#n804">804</a></p>
-<p id="n805" class="stm run hide_run"><a href="#n805">805</a></p>
-<p id="n806" class="stm run hide_run"><a href="#n806">806</a></p>
-<p id="n807" class="stm run hide_run"><a href="#n807">807</a></p>
+<p id="n805" class="stm mis"><a href="#n805">805</a></p>
+<p id="n806" class="stm mis"><a href="#n806">806</a></p>
+<p id="n807" class="stm mis"><a href="#n807">807</a></p>
<p id="n808" class="pln"><a href="#n808">808</a></p>
<p id="n809" class="stm run hide_run"><a href="#n809">809</a></p>
-<p id="n810" class="stm run hide_run"><a href="#n810">810</a></p>
+<p id="n810" class="stm mis"><a href="#n810">810</a></p>
<p id="n811" class="pln"><a href="#n811">811</a></p>
<p id="n812" class="pln"><a href="#n812">812</a></p>
<p id="n813" class="pln"><a href="#n813">813</a></p>
@@ -901,30 +901,30 @@
<p id="n830" class="pln"><a href="#n830">830</a></p>
<p id="n831" class="pln"><a href="#n831">831</a></p>
<p id="n832" class="pln"><a href="#n832">832</a></p>
-<p id="n833" class="stm run hide_run"><a href="#n833">833</a></p>
-<p id="n834" class="stm run hide_run"><a href="#n834">834</a></p>
-<p id="n835" class="stm run hide_run"><a href="#n835">835</a></p>
-<p id="n836" class="stm run hide_run"><a href="#n836">836</a></p>
-<p id="n837" class="stm run hide_run"><a href="#n837">837</a></p>
-<p id="n838" class="stm run hide_run"><a href="#n838">838</a></p>
+<p id="n833" class="stm mis"><a href="#n833">833</a></p>
+<p id="n834" class="stm mis"><a href="#n834">834</a></p>
+<p id="n835" class="stm mis"><a href="#n835">835</a></p>
+<p id="n836" class="stm mis"><a href="#n836">836</a></p>
+<p id="n837" class="stm mis"><a href="#n837">837</a></p>
+<p id="n838" class="stm mis"><a href="#n838">838</a></p>
<p id="n839" class="pln"><a href="#n839">839</a></p>
<p id="n840" class="stm run hide_run"><a href="#n840">840</a></p>
-<p id="n841" class="stm run hide_run"><a href="#n841">841</a></p>
-<p id="n842" class="stm run hide_run"><a href="#n842">842</a></p>
-<p id="n843" class="stm run hide_run"><a href="#n843">843</a></p>
-<p id="n844" class="stm run hide_run"><a href="#n844">844</a></p>
+<p id="n841" class="stm mis"><a href="#n841">841</a></p>
+<p id="n842" class="stm mis"><a href="#n842">842</a></p>
+<p id="n843" class="stm mis"><a href="#n843">843</a></p>
+<p id="n844" class="stm mis"><a href="#n844">844</a></p>
<p id="n845" class="pln"><a href="#n845">845</a></p>
<p id="n846" class="stm run hide_run"><a href="#n846">846</a></p>
-<p id="n847" class="stm run hide_run"><a href="#n847">847</a></p>
-<p id="n848" class="stm run hide_run"><a href="#n848">848</a></p>
-<p id="n849" class="stm run hide_run"><a href="#n849">849</a></p>
-<p id="n850" class="stm run hide_run"><a href="#n850">850</a></p>
+<p id="n847" class="stm mis"><a href="#n847">847</a></p>
+<p id="n848" class="stm mis"><a href="#n848">848</a></p>
+<p id="n849" class="stm mis"><a href="#n849">849</a></p>
+<p id="n850" class="stm mis"><a href="#n850">850</a></p>
<p id="n851" class="pln"><a href="#n851">851</a></p>
<p id="n852" class="pln"><a href="#n852">852</a></p>
<p id="n853" class="stm run hide_run"><a href="#n853">853</a></p>
<p id="n854" class="pln"><a href="#n854">854</a></p>
<p id="n855" class="stm run hide_run"><a href="#n855">855</a></p>
-<p id="n856" class="stm run hide_run"><a href="#n856">856</a></p>
+<p id="n856" class="stm mis"><a href="#n856">856</a></p>
<p id="n857" class="pln"><a href="#n857">857</a></p>
<p id="n858" class="pln"><a href="#n858">858</a></p>
<p id="n859" class="pln"><a href="#n859">859</a></p>
@@ -949,15 +949,15 @@
<p id="n878" class="pln"><a href="#n878">878</a></p>
<p id="n879" class="pln"><a href="#n879">879</a></p>
<p id="n880" class="pln"><a href="#n880">880</a></p>
-<p id="n881" class="stm run hide_run"><a href="#n881">881</a></p>
-<p id="n882" class="stm run hide_run"><a href="#n882">882</a></p>
-<p id="n883" class="stm run hide_run"><a href="#n883">883</a></p>
-<p id="n884" class="stm run hide_run"><a href="#n884">884</a></p>
-<p id="n885" class="stm run hide_run"><a href="#n885">885</a></p>
+<p id="n881" class="stm mis"><a href="#n881">881</a></p>
+<p id="n882" class="stm mis"><a href="#n882">882</a></p>
+<p id="n883" class="stm mis"><a href="#n883">883</a></p>
+<p id="n884" class="stm mis"><a href="#n884">884</a></p>
+<p id="n885" class="stm mis"><a href="#n885">885</a></p>
<p id="n886" class="pln"><a href="#n886">886</a></p>
<p id="n887" class="stm run hide_run"><a href="#n887">887</a></p>
<p id="n888" class="pln"><a href="#n888">888</a></p>
-<p id="n889" class="stm run hide_run"><a href="#n889">889</a></p>
+<p id="n889" class="stm mis"><a href="#n889">889</a></p>
<p id="n890" class="pln"><a href="#n890">890</a></p>
<p id="n891" class="pln"><a href="#n891">891</a></p>
<p id="n892" class="pln"><a href="#n892">892</a></p>
@@ -982,12 +982,12 @@
<p id="n911" class="pln"><a href="#n911">911</a></p>
<p id="n912" class="pln"><a href="#n912">912</a></p>
<p id="n913" class="pln"><a href="#n913">913</a></p>
-<p id="n914" class="stm run hide_run"><a href="#n914">914</a></p>
-<p id="n915" class="stm run hide_run"><a href="#n915">915</a></p>
-<p id="n916" class="stm run hide_run"><a href="#n916">916</a></p>
+<p id="n914" class="stm mis"><a href="#n914">914</a></p>
+<p id="n915" class="stm mis"><a href="#n915">915</a></p>
+<p id="n916" class="stm mis"><a href="#n916">916</a></p>
<p id="n917" class="pln"><a href="#n917">917</a></p>
<p id="n918" class="stm run hide_run"><a href="#n918">918</a></p>
-<p id="n919" class="stm run hide_run"><a href="#n919">919</a></p>
+<p id="n919" class="stm mis"><a href="#n919">919</a></p>
<p id="n920" class="pln"><a href="#n920">920</a></p>
<p id="n921" class="pln"><a href="#n921">921</a></p>
<p id="n922" class="pln"><a href="#n922">922</a></p>
@@ -1026,15 +1026,15 @@
<p id="n955" class="pln"><a href="#n955">955</a></p>
<p id="n956" class="pln"><a href="#n956">956</a></p>
<p id="n957" class="pln"><a href="#n957">957</a></p>
-<p id="n958" class="stm run hide_run"><a href="#n958">958</a></p>
-<p id="n959" class="stm run hide_run"><a href="#n959">959</a></p>
-<p id="n960" class="stm run hide_run"><a href="#n960">960</a></p>
-<p id="n961" class="stm run hide_run"><a href="#n961">961</a></p>
-<p id="n962" class="stm run hide_run"><a href="#n962">962</a></p>
-<p id="n963" class="stm run hide_run"><a href="#n963">963</a></p>
+<p id="n958" class="stm mis"><a href="#n958">958</a></p>
+<p id="n959" class="stm mis"><a href="#n959">959</a></p>
+<p id="n960" class="stm mis"><a href="#n960">960</a></p>
+<p id="n961" class="stm mis"><a href="#n961">961</a></p>
+<p id="n962" class="stm mis"><a href="#n962">962</a></p>
+<p id="n963" class="stm mis"><a href="#n963">963</a></p>
<p id="n964" class="pln"><a href="#n964">964</a></p>
<p id="n965" class="stm run hide_run"><a href="#n965">965</a></p>
-<p id="n966" class="stm run hide_run"><a href="#n966">966</a></p>
+<p id="n966" class="stm mis"><a href="#n966">966</a></p>
<p id="n967" class="pln"><a href="#n967">967</a></p>
<p id="n968" class="pln"><a href="#n968">968</a></p>
<p id="n969" class="pln"><a href="#n969">969</a></p>
@@ -1077,15 +1077,15 @@
<p id="n1006" class="pln"><a href="#n1006">1006</a></p>
<p id="n1007" class="pln"><a href="#n1007">1007</a></p>
<p id="n1008" class="pln"><a href="#n1008">1008</a></p>
-<p id="n1009" class="stm run hide_run"><a href="#n1009">1009</a></p>
-<p id="n1010" class="stm run hide_run"><a href="#n1010">1010</a></p>
-<p id="n1011" class="stm run hide_run"><a href="#n1011">1011</a></p>
-<p id="n1012" class="stm run hide_run"><a href="#n1012">1012</a></p>
-<p id="n1013" class="stm run hide_run"><a href="#n1013">1013</a></p>
-<p id="n1014" class="stm run hide_run"><a href="#n1014">1014</a></p>
+<p id="n1009" class="stm mis"><a href="#n1009">1009</a></p>
+<p id="n1010" class="stm mis"><a href="#n1010">1010</a></p>
+<p id="n1011" class="stm mis"><a href="#n1011">1011</a></p>
+<p id="n1012" class="stm mis"><a href="#n1012">1012</a></p>
+<p id="n1013" class="stm mis"><a href="#n1013">1013</a></p>
+<p id="n1014" class="stm mis"><a href="#n1014">1014</a></p>
<p id="n1015" class="pln"><a href="#n1015">1015</a></p>
<p id="n1016" class="stm run hide_run"><a href="#n1016">1016</a></p>
-<p id="n1017" class="stm run hide_run"><a href="#n1017">1017</a></p>
+<p id="n1017" class="stm mis"><a href="#n1017">1017</a></p>
<p id="n1018" class="pln"><a href="#n1018">1018</a></p>
<p id="n1019" class="pln"><a href="#n1019">1019</a></p>
<p id="n1020" class="pln"><a href="#n1020">1020</a></p>
@@ -1121,13 +1121,13 @@
<p id="n1050" class="pln"><a href="#n1050">1050</a></p>
<p id="n1051" class="pln"><a href="#n1051">1051</a></p>
<p id="n1052" class="pln"><a href="#n1052">1052</a></p>
-<p id="n1053" class="stm run hide_run"><a href="#n1053">1053</a></p>
-<p id="n1054" class="stm run hide_run"><a href="#n1054">1054</a></p>
-<p id="n1055" class="stm run hide_run"><a href="#n1055">1055</a></p>
-<p id="n1056" class="stm run hide_run"><a href="#n1056">1056</a></p>
+<p id="n1053" class="stm mis"><a href="#n1053">1053</a></p>
+<p id="n1054" class="stm mis"><a href="#n1054">1054</a></p>
+<p id="n1055" class="stm mis"><a href="#n1055">1055</a></p>
+<p id="n1056" class="stm mis"><a href="#n1056">1056</a></p>
<p id="n1057" class="pln"><a href="#n1057">1057</a></p>
<p id="n1058" class="stm run hide_run"><a href="#n1058">1058</a></p>
-<p id="n1059" class="stm run hide_run"><a href="#n1059">1059</a></p>
+<p id="n1059" class="stm mis"><a href="#n1059">1059</a></p>
<p id="n1060" class="pln"><a href="#n1060">1060</a></p>
<p id="n1061" class="pln"><a href="#n1061">1061</a></p>
<p id="n1062" class="pln"><a href="#n1062">1062</a></p>
@@ -1143,18 +1143,18 @@
<p id="n1072" class="pln"><a href="#n1072">1072</a></p>
<p id="n1073" class="pln"><a href="#n1073">1073</a></p>
<p id="n1074" class="pln"><a href="#n1074">1074</a></p>
-<p id="n1075" class="stm run hide_run"><a href="#n1075">1075</a></p>
-<p id="n1076" class="stm run hide_run"><a href="#n1076">1076</a></p>
-<p id="n1077" class="stm run hide_run"><a href="#n1077">1077</a></p>
+<p id="n1075" class="stm mis"><a href="#n1075">1075</a></p>
+<p id="n1076" class="stm mis"><a href="#n1076">1076</a></p>
+<p id="n1077" class="stm mis"><a href="#n1077">1077</a></p>
<p id="n1078" class="pln"><a href="#n1078">1078</a></p>
<p id="n1079" class="stm run hide_run"><a href="#n1079">1079</a></p>
-<p id="n1080" class="stm run hide_run"><a href="#n1080">1080</a></p>
+<p id="n1080" class="stm mis"><a href="#n1080">1080</a></p>
<p id="n1081" class="pln"><a href="#n1081">1081</a></p>
-<p id="n1082" class="stm par run hide_run"><a href="#n1082">1082</a></p>
-<p id="n1083" class="stm run hide_run"><a href="#n1083">1083</a></p>
-<p id="n1084" class="stm run hide_run"><a href="#n1084">1084</a></p>
+<p id="n1082" class="stm mis"><a href="#n1082">1082</a></p>
+<p id="n1083" class="stm mis"><a href="#n1083">1083</a></p>
+<p id="n1084" class="stm mis"><a href="#n1084">1084</a></p>
<p id="n1085" class="pln"><a href="#n1085">1085</a></p>
-<p id="n1086" class="stm run hide_run"><a href="#n1086">1086</a></p>
+<p id="n1086" class="stm mis"><a href="#n1086">1086</a></p>
<p id="n1087" class="pln"><a href="#n1087">1087</a></p>
<p id="n1088" class="pln"><a href="#n1088">1088</a></p>
<p id="n1089" class="pln"><a href="#n1089">1089</a></p>
@@ -1192,14 +1192,14 @@
<p id="n1121" class="pln"><a href="#n1121">1121</a></p>
<p id="n1122" class="pln"><a href="#n1122">1122</a></p>
<p id="n1123" class="pln"><a href="#n1123">1123</a></p>
-<p id="n1124" class="stm run hide_run"><a href="#n1124">1124</a></p>
-<p id="n1125" class="stm run hide_run"><a href="#n1125">1125</a></p>
-<p id="n1126" class="stm run hide_run"><a href="#n1126">1126</a></p>
-<p id="n1127" class="stm run hide_run"><a href="#n1127">1127</a></p>
-<p id="n1128" class="stm run hide_run"><a href="#n1128">1128</a></p>
+<p id="n1124" class="stm mis"><a href="#n1124">1124</a></p>
+<p id="n1125" class="stm mis"><a href="#n1125">1125</a></p>
+<p id="n1126" class="stm mis"><a href="#n1126">1126</a></p>
+<p id="n1127" class="stm mis"><a href="#n1127">1127</a></p>
+<p id="n1128" class="stm mis"><a href="#n1128">1128</a></p>
<p id="n1129" class="pln"><a href="#n1129">1129</a></p>
<p id="n1130" class="stm run hide_run"><a href="#n1130">1130</a></p>
-<p id="n1131" class="stm run hide_run"><a href="#n1131">1131</a></p>
+<p id="n1131" class="stm mis"><a href="#n1131">1131</a></p>
<p id="n1132" class="pln"><a href="#n1132">1132</a></p>
<p id="n1133" class="pln"><a href="#n1133">1133</a></p>
<p id="n1134" class="pln"><a href="#n1134">1134</a></p>
@@ -1221,22 +1221,22 @@
<p id="n1150" class="pln"><a href="#n1150">1150</a></p>
<p id="n1151" class="pln"><a href="#n1151">1151</a></p>
<p id="n1152" class="pln"><a href="#n1152">1152</a></p>
-<p id="n1153" class="stm run hide_run"><a href="#n1153">1153</a></p>
-<p id="n1154" class="stm run hide_run"><a href="#n1154">1154</a></p>
-<p id="n1155" class="stm run hide_run"><a href="#n1155">1155</a></p>
-<p id="n1156" class="stm run hide_run"><a href="#n1156">1156</a></p>
+<p id="n1153" class="stm mis"><a href="#n1153">1153</a></p>
+<p id="n1154" class="stm mis"><a href="#n1154">1154</a></p>
+<p id="n1155" class="stm mis"><a href="#n1155">1155</a></p>
+<p id="n1156" class="stm mis"><a href="#n1156">1156</a></p>
<p id="n1157" class="pln"><a href="#n1157">1157</a></p>
<p id="n1158" class="stm run hide_run"><a href="#n1158">1158</a></p>
-<p id="n1159" class="stm run hide_run"><a href="#n1159">1159</a></p>
-<p id="n1160" class="stm run hide_run"><a href="#n1160">1160</a></p>
+<p id="n1159" class="stm mis"><a href="#n1159">1159</a></p>
+<p id="n1160" class="stm mis"><a href="#n1160">1160</a></p>
<p id="n1161" class="pln"><a href="#n1161">1161</a></p>
<p id="n1162" class="stm run hide_run"><a href="#n1162">1162</a></p>
-<p id="n1163" class="stm run hide_run"><a href="#n1163">1163</a></p>
-<p id="n1164" class="stm run hide_run"><a href="#n1164">1164</a></p>
+<p id="n1163" class="stm mis"><a href="#n1163">1163</a></p>
+<p id="n1164" class="stm mis"><a href="#n1164">1164</a></p>
<p id="n1165" class="pln"><a href="#n1165">1165</a></p>
<p id="n1166" class="stm run hide_run"><a href="#n1166">1166</a></p>
-<p id="n1167" class="stm run hide_run"><a href="#n1167">1167</a></p>
-<p id="n1168" class="stm run hide_run"><a href="#n1168">1168</a></p>
+<p id="n1167" class="stm mis"><a href="#n1167">1167</a></p>
+<p id="n1168" class="stm mis"><a href="#n1168">1168</a></p>
<p id="n1169" class="pln"><a href="#n1169">1169</a></p>
<p id="n1170" class="pln"><a href="#n1170">1170</a></p>
<p id="n1171" class="stm run hide_run"><a href="#n1171">1171</a></p>
@@ -1261,30 +1261,30 @@
<p id="n1190" class="pln"><a href="#n1190">1190</a></p>
<p id="n1191" class="pln"><a href="#n1191">1191</a></p>
<p id="n1192" class="stm run hide_run"><a href="#n1192">1192</a></p>
-<p id="n1193" class="stm run hide_run"><a href="#n1193">1193</a></p>
-<p id="n1194" class="stm run hide_run"><a href="#n1194">1194</a></p>
-<p id="n1195" class="stm run hide_run"><a href="#n1195">1195</a></p>
+<p id="n1193" class="stm mis"><a href="#n1193">1193</a></p>
+<p id="n1194" class="stm mis"><a href="#n1194">1194</a></p>
+<p id="n1195" class="stm mis"><a href="#n1195">1195</a></p>
<p id="n1196" class="pln"><a href="#n1196">1196</a></p>
<p id="n1197" class="stm run hide_run"><a href="#n1197">1197</a></p>
-<p id="n1198" class="stm run hide_run"><a href="#n1198">1198</a></p>
-<p id="n1199" class="stm run hide_run"><a href="#n1199">1199</a></p>
-<p id="n1200" class="stm run hide_run"><a href="#n1200">1200</a></p>
+<p id="n1198" class="stm mis"><a href="#n1198">1198</a></p>
+<p id="n1199" class="stm mis"><a href="#n1199">1199</a></p>
+<p id="n1200" class="stm mis"><a href="#n1200">1200</a></p>
<p id="n1201" class="pln"><a href="#n1201">1201</a></p>
<p id="n1202" class="stm run hide_run"><a href="#n1202">1202</a></p>
-<p id="n1203" class="stm run hide_run"><a href="#n1203">1203</a></p>
-<p id="n1204" class="stm run hide_run"><a href="#n1204">1204</a></p>
-<p id="n1205" class="stm run hide_run"><a href="#n1205">1205</a></p>
+<p id="n1203" class="stm mis"><a href="#n1203">1203</a></p>
+<p id="n1204" class="stm mis"><a href="#n1204">1204</a></p>
+<p id="n1205" class="stm mis"><a href="#n1205">1205</a></p>
<p id="n1206" class="pln"><a href="#n1206">1206</a></p>
<p id="n1207" class="stm run hide_run"><a href="#n1207">1207</a></p>
-<p id="n1208" class="stm run hide_run"><a href="#n1208">1208</a></p>
-<p id="n1209" class="stm run hide_run"><a href="#n1209">1209</a></p>
-<p id="n1210" class="stm run hide_run"><a href="#n1210">1210</a></p>
+<p id="n1208" class="stm mis"><a href="#n1208">1208</a></p>
+<p id="n1209" class="stm mis"><a href="#n1209">1209</a></p>
+<p id="n1210" class="stm mis"><a href="#n1210">1210</a></p>
<p id="n1211" class="pln"><a href="#n1211">1211</a></p>
<p id="n1212" class="pln"><a href="#n1212">1212</a></p>
<p id="n1213" class="stm run hide_run"><a href="#n1213">1213</a></p>
<p id="n1214" class="pln"><a href="#n1214">1214</a></p>
<p id="n1215" class="stm run hide_run"><a href="#n1215">1215</a></p>
-<p id="n1216" class="stm run hide_run"><a href="#n1216">1216</a></p>
+<p id="n1216" class="stm mis"><a href="#n1216">1216</a></p>
<p id="n1217" class="pln"><a href="#n1217">1217</a></p>
<p id="n1218" class="pln"><a href="#n1218">1218</a></p>
<p id="n1219" class="pln"><a href="#n1219">1219</a></p>
@@ -1303,14 +1303,14 @@
<p id="n1232" class="pln"><a href="#n1232">1232</a></p>
<p id="n1233" class="pln"><a href="#n1233">1233</a></p>
<p id="n1234" class="pln"><a href="#n1234">1234</a></p>
-<p id="n1235" class="stm run hide_run"><a href="#n1235">1235</a></p>
-<p id="n1236" class="stm run hide_run"><a href="#n1236">1236</a></p>
-<p id="n1237" class="stm run hide_run"><a href="#n1237">1237</a></p>
-<p id="n1238" class="stm run hide_run"><a href="#n1238">1238</a></p>
-<p id="n1239" class="stm run hide_run"><a href="#n1239">1239</a></p>
+<p id="n1235" class="stm mis"><a href="#n1235">1235</a></p>
+<p id="n1236" class="stm mis"><a href="#n1236">1236</a></p>
+<p id="n1237" class="stm mis"><a href="#n1237">1237</a></p>
+<p id="n1238" class="stm mis"><a href="#n1238">1238</a></p>
+<p id="n1239" class="stm mis"><a href="#n1239">1239</a></p>
<p id="n1240" class="pln"><a href="#n1240">1240</a></p>
<p id="n1241" class="stm run hide_run"><a href="#n1241">1241</a></p>
-<p id="n1242" class="stm run hide_run"><a href="#n1242">1242</a></p>
+<p id="n1242" class="stm mis"><a href="#n1242">1242</a></p>
<p id="n1243" class="pln"><a href="#n1243">1243</a></p>
<p id="n1244" class="pln"><a href="#n1244">1244</a></p>
<p id="n1245" class="pln"><a href="#n1245">1245</a></p>
@@ -1329,11 +1329,11 @@
<p id="n1258" class="pln"><a href="#n1258">1258</a></p>
<p id="n1259" class="pln"><a href="#n1259">1259</a></p>
<p id="n1260" class="pln"><a href="#n1260">1260</a></p>
-<p id="n1261" class="stm run hide_run"><a href="#n1261">1261</a></p>
-<p id="n1262" class="stm run hide_run"><a href="#n1262">1262</a></p>
-<p id="n1263" class="stm run hide_run"><a href="#n1263">1263</a></p>
-<p id="n1264" class="stm run hide_run"><a href="#n1264">1264</a></p>
-<p id="n1265" class="stm run hide_run"><a href="#n1265">1265</a></p>
+<p id="n1261" class="stm mis"><a href="#n1261">1261</a></p>
+<p id="n1262" class="stm mis"><a href="#n1262">1262</a></p>
+<p id="n1263" class="stm mis"><a href="#n1263">1263</a></p>
+<p id="n1264" class="stm mis"><a href="#n1264">1264</a></p>
+<p id="n1265" class="stm mis"><a href="#n1265">1265</a></p>
<p id="n1266" class="pln"><a href="#n1266">1266</a></p>
<p id="n1267" class="pln"><a href="#n1267">1267</a></p>
<p id="n1268" class="stm run hide_run"><a href="#n1268">1268</a></p>
@@ -1343,18 +1343,18 @@
<p id="n1272" class="pln"><a href="#n1272">1272</a></p>
<p id="n1273" class="pln"><a href="#n1273">1273</a></p>
<p id="n1274" class="stm run hide_run"><a href="#n1274">1274</a></p>
-<p id="n1275" class="stm run hide_run"><a href="#n1275">1275</a></p>
-<p id="n1276" class="stm run hide_run"><a href="#n1276">1276</a></p>
+<p id="n1275" class="stm mis"><a href="#n1275">1275</a></p>
+<p id="n1276" class="stm mis"><a href="#n1276">1276</a></p>
<p id="n1277" class="pln"><a href="#n1277">1277</a></p>
<p id="n1278" class="stm run hide_run"><a href="#n1278">1278</a></p>
-<p id="n1279" class="stm run hide_run"><a href="#n1279">1279</a></p>
+<p id="n1279" class="stm mis"><a href="#n1279">1279</a></p>
<p id="n1280" class="pln"><a href="#n1280">1280</a></p>
<p id="n1281" class="pln"><a href="#n1281">1281</a></p>
<p id="n1282" class="pln"><a href="#n1282">1282</a></p>
<p id="n1283" class="pln"><a href="#n1283">1283</a></p>
-<p id="n1284" class="stm run hide_run"><a href="#n1284">1284</a></p>
-<p id="n1285" class="stm run hide_run"><a href="#n1285">1285</a></p>
-<p id="n1286" class="stm run hide_run"><a href="#n1286">1286</a></p>
+<p id="n1284" class="stm mis"><a href="#n1284">1284</a></p>
+<p id="n1285" class="stm mis"><a href="#n1285">1285</a></p>
+<p id="n1286" class="stm mis"><a href="#n1286">1286</a></p>
<p id="n1287" class="pln"><a href="#n1287">1287</a></p>
<p id="n1288" class="pln"><a href="#n1288">1288</a></p>
<p id="n1289" class="stm run hide_run"><a href="#n1289">1289</a></p>
@@ -1406,36 +1406,36 @@
<p id="n1335" class="pln"><a href="#n1335">1335</a></p>
<p id="n1336" class="stm run hide_run"><a href="#n1336">1336</a></p>
<p id="n1337" class="pln"><a href="#n1337">1337</a></p>
-<p id="n1338" class="stm run hide_run"><a href="#n1338">1338</a></p>
-<p id="n1339" class="stm run hide_run"><a href="#n1339">1339</a></p>
-<p id="n1340" class="stm run hide_run"><a href="#n1340">1340</a></p>
+<p id="n1338" class="stm mis"><a href="#n1338">1338</a></p>
+<p id="n1339" class="stm mis"><a href="#n1339">1339</a></p>
+<p id="n1340" class="stm mis"><a href="#n1340">1340</a></p>
<p id="n1341" class="pln"><a href="#n1341">1341</a></p>
<p id="n1342" class="stm run hide_run"><a href="#n1342">1342</a></p>
<p id="n1343" class="pln"><a href="#n1343">1343</a></p>
-<p id="n1344" class="stm run hide_run"><a href="#n1344">1344</a></p>
-<p id="n1345" class="stm run hide_run"><a href="#n1345">1345</a></p>
-<p id="n1346" class="stm run hide_run"><a href="#n1346">1346</a></p>
+<p id="n1344" class="stm mis"><a href="#n1344">1344</a></p>
+<p id="n1345" class="stm mis"><a href="#n1345">1345</a></p>
+<p id="n1346" class="stm mis"><a href="#n1346">1346</a></p>
<p id="n1347" class="pln"><a href="#n1347">1347</a></p>
<p id="n1348" class="stm run hide_run"><a href="#n1348">1348</a></p>
<p id="n1349" class="pln"><a href="#n1349">1349</a></p>
-<p id="n1350" class="stm run hide_run"><a href="#n1350">1350</a></p>
-<p id="n1351" class="stm run hide_run"><a href="#n1351">1351</a></p>
-<p id="n1352" class="stm run hide_run"><a href="#n1352">1352</a></p>
+<p id="n1350" class="stm mis"><a href="#n1350">1350</a></p>
+<p id="n1351" class="stm mis"><a href="#n1351">1351</a></p>
+<p id="n1352" class="stm mis"><a href="#n1352">1352</a></p>
<p id="n1353" class="pln"><a href="#n1353">1353</a></p>
<p id="n1354" class="stm run hide_run"><a href="#n1354">1354</a></p>
<p id="n1355" class="pln"><a href="#n1355">1355</a></p>
-<p id="n1356" class="stm run hide_run"><a href="#n1356">1356</a></p>
-<p id="n1357" class="stm run hide_run"><a href="#n1357">1357</a></p>
-<p id="n1358" class="stm run hide_run"><a href="#n1358">1358</a></p>
+<p id="n1356" class="stm mis"><a href="#n1356">1356</a></p>
+<p id="n1357" class="stm mis"><a href="#n1357">1357</a></p>
+<p id="n1358" class="stm mis"><a href="#n1358">1358</a></p>
<p id="n1359" class="pln"><a href="#n1359">1359</a></p>
<p id="n1360" class="stm run hide_run"><a href="#n1360">1360</a></p>
<p id="n1361" class="pln"><a href="#n1361">1361</a></p>
-<p id="n1362" class="stm run hide_run"><a href="#n1362">1362</a></p>
-<p id="n1363" class="stm run hide_run"><a href="#n1363">1363</a></p>
-<p id="n1364" class="stm run hide_run"><a href="#n1364">1364</a></p>
+<p id="n1362" class="stm mis"><a href="#n1362">1362</a></p>
+<p id="n1363" class="stm mis"><a href="#n1363">1363</a></p>
+<p id="n1364" class="stm mis"><a href="#n1364">1364</a></p>
<p id="n1365" class="pln"><a href="#n1365">1365</a></p>
<p id="n1366" class="stm run hide_run"><a href="#n1366">1366</a></p>
-<p id="n1367" class="stm run hide_run"><a href="#n1367">1367</a></p>
+<p id="n1367" class="stm mis"><a href="#n1367">1367</a></p>
<p id="n1368" class="pln"><a href="#n1368">1368</a></p>
<p id="n1369" class="pln"><a href="#n1369">1369</a></p>
<p id="n1370" class="pln"><a href="#n1370">1370</a></p>
@@ -1446,43 +1446,43 @@
<p id="n1375" class="pln"><a href="#n1375">1375</a></p>
<p id="n1376" class="pln"><a href="#n1376">1376</a></p>
<p id="n1377" class="pln"><a href="#n1377">1377</a></p>
-<p id="n1378" class="stm run hide_run"><a href="#n1378">1378</a></p>
+<p id="n1378" class="stm mis"><a href="#n1378">1378</a></p>
<p id="n1379" class="pln"><a href="#n1379">1379</a></p>
-<p id="n1380" class="stm run hide_run"><a href="#n1380">1380</a></p>
-<p id="n1381" class="stm run hide_run"><a href="#n1381">1381</a></p>
-<p id="n1382" class="stm run hide_run"><a href="#n1382">1382</a></p>
+<p id="n1380" class="stm mis"><a href="#n1380">1380</a></p>
+<p id="n1381" class="stm mis"><a href="#n1381">1381</a></p>
+<p id="n1382" class="stm mis"><a href="#n1382">1382</a></p>
<p id="n1383" class="pln"><a href="#n1383">1383</a></p>
-<p id="n1384" class="stm run hide_run"><a href="#n1384">1384</a></p>
-<p id="n1385" class="stm run hide_run"><a href="#n1385">1385</a></p>
-<p id="n1386" class="stm run hide_run"><a href="#n1386">1386</a></p>
+<p id="n1384" class="stm mis"><a href="#n1384">1384</a></p>
+<p id="n1385" class="stm mis"><a href="#n1385">1385</a></p>
+<p id="n1386" class="stm mis"><a href="#n1386">1386</a></p>
<p id="n1387" class="pln"><a href="#n1387">1387</a></p>
-<p id="n1388" class="stm run hide_run"><a href="#n1388">1388</a></p>
-<p id="n1389" class="stm run hide_run"><a href="#n1389">1389</a></p>
-<p id="n1390" class="stm run hide_run"><a href="#n1390">1390</a></p>
+<p id="n1388" class="stm mis"><a href="#n1388">1388</a></p>
+<p id="n1389" class="stm mis"><a href="#n1389">1389</a></p>
+<p id="n1390" class="stm mis"><a href="#n1390">1390</a></p>
<p id="n1391" class="pln"><a href="#n1391">1391</a></p>
-<p id="n1392" class="stm run hide_run"><a href="#n1392">1392</a></p>
-<p id="n1393" class="stm run hide_run"><a href="#n1393">1393</a></p>
-<p id="n1394" class="stm run hide_run"><a href="#n1394">1394</a></p>
+<p id="n1392" class="stm mis"><a href="#n1392">1392</a></p>
+<p id="n1393" class="stm mis"><a href="#n1393">1393</a></p>
+<p id="n1394" class="stm mis"><a href="#n1394">1394</a></p>
<p id="n1395" class="pln"><a href="#n1395">1395</a></p>
-<p id="n1396" class="stm run hide_run"><a href="#n1396">1396</a></p>
-<p id="n1397" class="stm run hide_run"><a href="#n1397">1397</a></p>
-<p id="n1398" class="stm run hide_run"><a href="#n1398">1398</a></p>
-<p id="n1399" class="stm run hide_run"><a href="#n1399">1399</a></p>
+<p id="n1396" class="stm mis"><a href="#n1396">1396</a></p>
+<p id="n1397" class="stm mis"><a href="#n1397">1397</a></p>
+<p id="n1398" class="stm mis"><a href="#n1398">1398</a></p>
+<p id="n1399" class="stm mis"><a href="#n1399">1399</a></p>
<p id="n1400" class="pln"><a href="#n1400">1400</a></p>
-<p id="n1401" class="stm run hide_run"><a href="#n1401">1401</a></p>
-<p id="n1402" class="stm run hide_run"><a href="#n1402">1402</a></p>
-<p id="n1403" class="stm run hide_run"><a href="#n1403">1403</a></p>
-<p id="n1404" class="stm run hide_run"><a href="#n1404">1404</a></p>
+<p id="n1401" class="stm mis"><a href="#n1401">1401</a></p>
+<p id="n1402" class="stm mis"><a href="#n1402">1402</a></p>
+<p id="n1403" class="stm mis"><a href="#n1403">1403</a></p>
+<p id="n1404" class="stm mis"><a href="#n1404">1404</a></p>
<p id="n1405" class="pln"><a href="#n1405">1405</a></p>
-<p id="n1406" class="stm run hide_run"><a href="#n1406">1406</a></p>
-<p id="n1407" class="stm run hide_run"><a href="#n1407">1407</a></p>
-<p id="n1408" class="stm run hide_run"><a href="#n1408">1408</a></p>
-<p id="n1409" class="stm run hide_run"><a href="#n1409">1409</a></p>
+<p id="n1406" class="stm mis"><a href="#n1406">1406</a></p>
+<p id="n1407" class="stm mis"><a href="#n1407">1407</a></p>
+<p id="n1408" class="stm mis"><a href="#n1408">1408</a></p>
+<p id="n1409" class="stm mis"><a href="#n1409">1409</a></p>
<p id="n1410" class="pln"><a href="#n1410">1410</a></p>
<p id="n1411" class="stm run hide_run"><a href="#n1411">1411</a></p>
<p id="n1412" class="pln"><a href="#n1412">1412</a></p>
<p id="n1413" class="pln"><a href="#n1413">1413</a></p>
-<p id="n1414" class="stm run hide_run"><a href="#n1414">1414</a></p>
+<p id="n1414" class="stm mis"><a href="#n1414">1414</a></p>
<p id="n1415" class="pln"><a href="#n1415">1415</a></p>
<p id="n1416" class="pln"><a href="#n1416">1416</a></p>
<p id="n1417" class="pln"><a href="#n1417">1417</a></p>
@@ -1506,18 +1506,18 @@
<p id="n1435" class="pln"><a href="#n1435">1435</a></p>
<p id="n1436" class="pln"><a href="#n1436">1436</a></p>
<p id="n1437" class="pln"><a href="#n1437">1437</a></p>
-<p id="n1438" class="stm run hide_run"><a href="#n1438">1438</a></p>
+<p id="n1438" class="stm mis"><a href="#n1438">1438</a></p>
<p id="n1439" class="pln"><a href="#n1439">1439</a></p>
<p id="n1440" class="pln"><a href="#n1440">1440</a></p>
-<p id="n1441" class="stm run hide_run"><a href="#n1441">1441</a></p>
-<p id="n1442" class="stm run hide_run"><a href="#n1442">1442</a></p>
+<p id="n1441" class="stm mis"><a href="#n1441">1441</a></p>
+<p id="n1442" class="stm mis"><a href="#n1442">1442</a></p>
<p id="n1443" class="pln"><a href="#n1443">1443</a></p>
<p id="n1444" class="pln"><a href="#n1444">1444</a></p>
<p id="n1445" class="stm run hide_run"><a href="#n1445">1445</a></p>
<p id="n1446" class="pln"><a href="#n1446">1446</a></p>
<p id="n1447" class="stm run hide_run"><a href="#n1447">1447</a></p>
<p id="n1448" class="pln"><a href="#n1448">1448</a></p>
-<p id="n1449" class="stm run hide_run"><a href="#n1449">1449</a></p>
+<p id="n1449" class="stm mis"><a href="#n1449">1449</a></p>
<p id="n1450" class="pln"><a href="#n1450">1450</a></p>
<p id="n1451" class="pln"><a href="#n1451">1451</a></p>
<p id="n1452" class="pln"><a href="#n1452">1452</a></p>
@@ -1532,21 +1532,21 @@
<p id="n1461" class="pln"><a href="#n1461">1461</a></p>
<p id="n1462" class="pln"><a href="#n1462">1462</a></p>
<p id="n1463" class="pln"><a href="#n1463">1463</a></p>
-<p id="n1464" class="stm run hide_run"><a href="#n1464">1464</a></p>
-<p id="n1465" class="stm run hide_run"><a href="#n1465">1465</a></p>
-<p id="n1466" class="stm run hide_run"><a href="#n1466">1466</a></p>
-<p id="n1467" class="stm run hide_run"><a href="#n1467">1467</a></p>
-<p id="n1468" class="stm run hide_run"><a href="#n1468">1468</a></p>
-<p id="n1469" class="stm run hide_run"><a href="#n1469">1469</a></p>
-<p id="n1470" class="stm run hide_run"><a href="#n1470">1470</a></p>
-<p id="n1471" class="stm run hide_run"><a href="#n1471">1471</a></p>
-<p id="n1472" class="stm run hide_run"><a href="#n1472">1472</a></p>
-<p id="n1473" class="stm run hide_run"><a href="#n1473">1473</a></p>
-<p id="n1474" class="stm run hide_run"><a href="#n1474">1474</a></p>
-<p id="n1475" class="stm run hide_run"><a href="#n1475">1475</a></p>
+<p id="n1464" class="stm mis"><a href="#n1464">1464</a></p>
+<p id="n1465" class="stm mis"><a href="#n1465">1465</a></p>
+<p id="n1466" class="stm mis"><a href="#n1466">1466</a></p>
+<p id="n1467" class="stm mis"><a href="#n1467">1467</a></p>
+<p id="n1468" class="stm mis"><a href="#n1468">1468</a></p>
+<p id="n1469" class="stm mis"><a href="#n1469">1469</a></p>
+<p id="n1470" class="stm mis"><a href="#n1470">1470</a></p>
+<p id="n1471" class="stm mis"><a href="#n1471">1471</a></p>
+<p id="n1472" class="stm mis"><a href="#n1472">1472</a></p>
+<p id="n1473" class="stm mis"><a href="#n1473">1473</a></p>
+<p id="n1474" class="stm mis"><a href="#n1474">1474</a></p>
+<p id="n1475" class="stm mis"><a href="#n1475">1475</a></p>
<p id="n1476" class="pln"><a href="#n1476">1476</a></p>
<p id="n1477" class="stm run hide_run"><a href="#n1477">1477</a></p>
-<p id="n1478" class="stm run hide_run"><a href="#n1478">1478</a></p>
+<p id="n1478" class="stm mis"><a href="#n1478">1478</a></p>
<p id="n1479" class="pln"><a href="#n1479">1479</a></p>
<p id="n1480" class="pln"><a href="#n1480">1480</a></p>
<p id="n1481" class="pln"><a href="#n1481">1481</a></p>
@@ -1572,16 +1572,16 @@
<p id="n1501" class="pln"><a href="#n1501">1501</a></p>
<p id="n1502" class="pln"><a href="#n1502">1502</a></p>
<p id="n1503" class="pln"><a href="#n1503">1503</a></p>
-<p id="n1504" class="stm run hide_run"><a href="#n1504">1504</a></p>
-<p id="n1505" class="stm run hide_run"><a href="#n1505">1505</a></p>
-<p id="n1506" class="stm run hide_run"><a href="#n1506">1506</a></p>
-<p id="n1507" class="stm run hide_run"><a href="#n1507">1507</a></p>
-<p id="n1508" class="stm run hide_run"><a href="#n1508">1508</a></p>
-<p id="n1509" class="stm run hide_run"><a href="#n1509">1509</a></p>
+<p id="n1504" class="stm mis"><a href="#n1504">1504</a></p>
+<p id="n1505" class="stm mis"><a href="#n1505">1505</a></p>
+<p id="n1506" class="stm mis"><a href="#n1506">1506</a></p>
+<p id="n1507" class="stm mis"><a href="#n1507">1507</a></p>
+<p id="n1508" class="stm mis"><a href="#n1508">1508</a></p>
+<p id="n1509" class="stm mis"><a href="#n1509">1509</a></p>
<p id="n1510" class="pln"><a href="#n1510">1510</a></p>
<p id="n1511" class="stm run hide_run"><a href="#n1511">1511</a></p>
<p id="n1512" class="pln"><a href="#n1512">1512</a></p>
-<p id="n1513" class="stm run hide_run"><a href="#n1513">1513</a></p>
+<p id="n1513" class="stm mis"><a href="#n1513">1513</a></p>
<p id="n1514" class="pln"><a href="#n1514">1514</a></p>
<p id="n1515" class="pln"><a href="#n1515">1515</a></p>
<p id="n1516" class="pln"><a href="#n1516">1516</a></p>
@@ -1626,15 +1626,15 @@
<p id="n1555" class="pln"><a href="#n1555">1555</a></p>
<p id="n1556" class="pln"><a href="#n1556">1556</a></p>
<p id="n1557" class="pln"><a href="#n1557">1557</a></p>
-<p id="n1558" class="stm run hide_run"><a href="#n1558">1558</a></p>
-<p id="n1559" class="stm run hide_run"><a href="#n1559">1559</a></p>
-<p id="n1560" class="stm run hide_run"><a href="#n1560">1560</a></p>
-<p id="n1561" class="stm run hide_run"><a href="#n1561">1561</a></p>
-<p id="n1562" class="stm run hide_run"><a href="#n1562">1562</a></p>
-<p id="n1563" class="stm run hide_run"><a href="#n1563">1563</a></p>
+<p id="n1558" class="stm mis"><a href="#n1558">1558</a></p>
+<p id="n1559" class="stm mis"><a href="#n1559">1559</a></p>
+<p id="n1560" class="stm mis"><a href="#n1560">1560</a></p>
+<p id="n1561" class="stm mis"><a href="#n1561">1561</a></p>
+<p id="n1562" class="stm mis"><a href="#n1562">1562</a></p>
+<p id="n1563" class="stm mis"><a href="#n1563">1563</a></p>
<p id="n1564" class="pln"><a href="#n1564">1564</a></p>
<p id="n1565" class="stm run hide_run"><a href="#n1565">1565</a></p>
-<p id="n1566" class="stm run hide_run"><a href="#n1566">1566</a></p>
+<p id="n1566" class="stm mis"><a href="#n1566">1566</a></p>
<p id="n1567" class="pln"><a href="#n1567">1567</a></p>
<p id="n1568" class="pln"><a href="#n1568">1568</a></p>
<p id="n1569" class="pln"><a href="#n1569">1569</a></p>
@@ -1662,35 +1662,35 @@
<p id="n1591" class="pln"><a href="#n1591">1591</a></p>
<p id="n1592" class="pln"><a href="#n1592">1592</a></p>
<p id="n1593" class="pln"><a href="#n1593">1593</a></p>
-<p id="n1594" class="stm run hide_run"><a href="#n1594">1594</a></p>
+<p id="n1594" class="stm mis"><a href="#n1594">1594</a></p>
<p id="n1595" class="pln"><a href="#n1595">1595</a></p>
-<p id="n1596" class="stm run hide_run"><a href="#n1596">1596</a></p>
-<p id="n1597" class="stm run hide_run"><a href="#n1597">1597</a></p>
-<p id="n1598" class="stm run hide_run"><a href="#n1598">1598</a></p>
+<p id="n1596" class="stm mis"><a href="#n1596">1596</a></p>
+<p id="n1597" class="stm mis"><a href="#n1597">1597</a></p>
+<p id="n1598" class="stm mis"><a href="#n1598">1598</a></p>
<p id="n1599" class="pln"><a href="#n1599">1599</a></p>
-<p id="n1600" class="stm run hide_run"><a href="#n1600">1600</a></p>
-<p id="n1601" class="stm run hide_run"><a href="#n1601">1601</a></p>
-<p id="n1602" class="stm run hide_run"><a href="#n1602">1602</a></p>
+<p id="n1600" class="stm mis"><a href="#n1600">1600</a></p>
+<p id="n1601" class="stm mis"><a href="#n1601">1601</a></p>
+<p id="n1602" class="stm mis"><a href="#n1602">1602</a></p>
<p id="n1603" class="pln"><a href="#n1603">1603</a></p>
-<p id="n1604" class="stm run hide_run"><a href="#n1604">1604</a></p>
-<p id="n1605" class="stm run hide_run"><a href="#n1605">1605</a></p>
+<p id="n1604" class="stm mis"><a href="#n1604">1604</a></p>
+<p id="n1605" class="stm mis"><a href="#n1605">1605</a></p>
<p id="n1606" class="pln"><a href="#n1606">1606</a></p>
<p id="n1607" class="stm run hide_run"><a href="#n1607">1607</a></p>
-<p id="n1608" class="stm run hide_run"><a href="#n1608">1608</a></p>
+<p id="n1608" class="stm mis"><a href="#n1608">1608</a></p>
<p id="n1609" class="pln"><a href="#n1609">1609</a></p>
<p id="n1610" class="pln"><a href="#n1610">1610</a></p>
<p id="n1611" class="pln"><a href="#n1611">1611</a></p>
<p id="n1612" class="pln"><a href="#n1612">1612</a></p>
<p id="n1613" class="pln"><a href="#n1613">1613</a></p>
-<p id="n1614" class="stm run hide_run"><a href="#n1614">1614</a></p>
-<p id="n1615" class="stm run hide_run"><a href="#n1615">1615</a></p>
-<p id="n1616" class="stm run hide_run"><a href="#n1616">1616</a></p>
-<p id="n1617" class="stm run hide_run"><a href="#n1617">1617</a></p>
+<p id="n1614" class="stm mis"><a href="#n1614">1614</a></p>
+<p id="n1615" class="stm mis"><a href="#n1615">1615</a></p>
+<p id="n1616" class="stm mis"><a href="#n1616">1616</a></p>
+<p id="n1617" class="stm mis"><a href="#n1617">1617</a></p>
<p id="n1618" class="pln"><a href="#n1618">1618</a></p>
<p id="n1619" class="stm run hide_run"><a href="#n1619">1619</a></p>
<p id="n1620" class="pln"><a href="#n1620">1620</a></p>
<p id="n1621" class="pln"><a href="#n1621">1621</a></p>
-<p id="n1622" class="stm run hide_run"><a href="#n1622">1622</a></p>
+<p id="n1622" class="stm mis"><a href="#n1622">1622</a></p>
<p id="n1623" class="pln"><a href="#n1623">1623</a></p>
<p id="n1624" class="pln"><a href="#n1624">1624</a></p>
<p id="n1625" class="pln"><a href="#n1625">1625</a></p>
@@ -1704,15 +1704,15 @@
<p id="n1633" class="pln"><a href="#n1633">1633</a></p>
<p id="n1634" class="pln"><a href="#n1634">1634</a></p>
<p id="n1635" class="pln"><a href="#n1635">1635</a></p>
-<p id="n1636" class="stm run hide_run"><a href="#n1636">1636</a></p>
-<p id="n1637" class="stm run hide_run"><a href="#n1637">1637</a></p>
-<p id="n1638" class="stm run hide_run"><a href="#n1638">1638</a></p>
-<p id="n1639" class="stm run hide_run"><a href="#n1639">1639</a></p>
-<p id="n1640" class="stm run hide_run"><a href="#n1640">1640</a></p>
-<p id="n1641" class="stm run hide_run"><a href="#n1641">1641</a></p>
+<p id="n1636" class="stm mis"><a href="#n1636">1636</a></p>
+<p id="n1637" class="stm mis"><a href="#n1637">1637</a></p>
+<p id="n1638" class="stm mis"><a href="#n1638">1638</a></p>
+<p id="n1639" class="stm mis"><a href="#n1639">1639</a></p>
+<p id="n1640" class="stm mis"><a href="#n1640">1640</a></p>
+<p id="n1641" class="stm mis"><a href="#n1641">1641</a></p>
<p id="n1642" class="pln"><a href="#n1642">1642</a></p>
<p id="n1643" class="stm run hide_run"><a href="#n1643">1643</a></p>
-<p id="n1644" class="stm run hide_run"><a href="#n1644">1644</a></p>
+<p id="n1644" class="stm mis"><a href="#n1644">1644</a></p>
<p id="n1645" class="pln"><a href="#n1645">1645</a></p>
<p id="n1646" class="pln"><a href="#n1646">1646</a></p>
<p id="n1647" class="pln"><a href="#n1647">1647</a></p>
@@ -1731,60 +1731,60 @@
<p id="n1660" class="pln"><a href="#n1660">1660</a></p>
<p id="n1661" class="pln"><a href="#n1661">1661</a></p>
<p id="n1662" class="pln"><a href="#n1662">1662</a></p>
-<p id="n1663" class="stm run hide_run"><a href="#n1663">1663</a></p>
-<p id="n1664" class="stm run hide_run"><a href="#n1664">1664</a></p>
-<p id="n1665" class="stm run hide_run"><a href="#n1665">1665</a></p>
-<p id="n1666" class="stm run hide_run"><a href="#n1666">1666</a></p>
-<p id="n1667" class="stm run hide_run"><a href="#n1667">1667</a></p>
-<p id="n1668" class="stm run hide_run"><a href="#n1668">1668</a></p>
-<p id="n1669" class="stm run hide_run"><a href="#n1669">1669</a></p>
-<p id="n1670" class="stm run hide_run"><a href="#n1670">1670</a></p>
-<p id="n1671" class="stm run hide_run"><a href="#n1671">1671</a></p>
-<p id="n1672" class="stm run hide_run"><a href="#n1672">1672</a></p>
-<p id="n1673" class="stm run hide_run"><a href="#n1673">1673</a></p>
-<p id="n1674" class="stm run hide_run"><a href="#n1674">1674</a></p>
-<p id="n1675" class="stm run hide_run"><a href="#n1675">1675</a></p>
-<p id="n1676" class="stm run hide_run"><a href="#n1676">1676</a></p>
-<p id="n1677" class="stm run hide_run"><a href="#n1677">1677</a></p>
-<p id="n1678" class="stm run hide_run"><a href="#n1678">1678</a></p>
-<p id="n1679" class="stm run hide_run"><a href="#n1679">1679</a></p>
-<p id="n1680" class="stm run hide_run"><a href="#n1680">1680</a></p>
+<p id="n1663" class="stm mis"><a href="#n1663">1663</a></p>
+<p id="n1664" class="stm mis"><a href="#n1664">1664</a></p>
+<p id="n1665" class="stm mis"><a href="#n1665">1665</a></p>
+<p id="n1666" class="stm mis"><a href="#n1666">1666</a></p>
+<p id="n1667" class="stm mis"><a href="#n1667">1667</a></p>
+<p id="n1668" class="stm mis"><a href="#n1668">1668</a></p>
+<p id="n1669" class="stm mis"><a href="#n1669">1669</a></p>
+<p id="n1670" class="stm mis"><a href="#n1670">1670</a></p>
+<p id="n1671" class="stm mis"><a href="#n1671">1671</a></p>
+<p id="n1672" class="stm mis"><a href="#n1672">1672</a></p>
+<p id="n1673" class="stm mis"><a href="#n1673">1673</a></p>
+<p id="n1674" class="stm mis"><a href="#n1674">1674</a></p>
+<p id="n1675" class="stm mis"><a href="#n1675">1675</a></p>
+<p id="n1676" class="stm mis"><a href="#n1676">1676</a></p>
+<p id="n1677" class="stm mis"><a href="#n1677">1677</a></p>
+<p id="n1678" class="stm mis"><a href="#n1678">1678</a></p>
+<p id="n1679" class="stm mis"><a href="#n1679">1679</a></p>
+<p id="n1680" class="stm mis"><a href="#n1680">1680</a></p>
<p id="n1681" class="pln"><a href="#n1681">1681</a></p>
<p id="n1682" class="stm run hide_run"><a href="#n1682">1682</a></p>
-<p id="n1683" class="stm run hide_run"><a href="#n1683">1683</a></p>
+<p id="n1683" class="stm mis"><a href="#n1683">1683</a></p>
<p id="n1684" class="pln"><a href="#n1684">1684</a></p>
<p id="n1685" class="pln"><a href="#n1685">1685</a></p>
<p id="n1686" class="pln"><a href="#n1686">1686</a></p>
<p id="n1687" class="pln"><a href="#n1687">1687</a></p>
<p id="n1688" class="pln"><a href="#n1688">1688</a></p>
<p id="n1689" class="pln"><a href="#n1689">1689</a></p>
-<p id="n1690" class="stm run hide_run"><a href="#n1690">1690</a></p>
-<p id="n1691" class="stm run hide_run"><a href="#n1691">1691</a></p>
-<p id="n1692" class="stm run hide_run"><a href="#n1692">1692</a></p>
-<p id="n1693" class="stm run hide_run"><a href="#n1693">1693</a></p>
-<p id="n1694" class="stm run hide_run"><a href="#n1694">1694</a></p>
-<p id="n1695" class="stm run hide_run"><a href="#n1695">1695</a></p>
-<p id="n1696" class="stm run hide_run"><a href="#n1696">1696</a></p>
-<p id="n1697" class="stm run hide_run"><a href="#n1697">1697</a></p>
+<p id="n1690" class="stm mis"><a href="#n1690">1690</a></p>
+<p id="n1691" class="stm mis"><a href="#n1691">1691</a></p>
+<p id="n1692" class="stm mis"><a href="#n1692">1692</a></p>
+<p id="n1693" class="stm mis"><a href="#n1693">1693</a></p>
+<p id="n1694" class="stm mis"><a href="#n1694">1694</a></p>
+<p id="n1695" class="stm mis"><a href="#n1695">1695</a></p>
+<p id="n1696" class="stm mis"><a href="#n1696">1696</a></p>
+<p id="n1697" class="stm mis"><a href="#n1697">1697</a></p>
<p id="n1698" class="pln"><a href="#n1698">1698</a></p>
<p id="n1699" class="stm run hide_run"><a href="#n1699">1699</a></p>
-<p id="n1700" class="stm run hide_run"><a href="#n1700">1700</a></p>
-<p id="n1701" class="stm run hide_run"><a href="#n1701">1701</a></p>
-<p id="n1702" class="stm run hide_run"><a href="#n1702">1702</a></p>
-<p id="n1703" class="stm run hide_run"><a href="#n1703">1703</a></p>
-<p id="n1704" class="stm run hide_run"><a href="#n1704">1704</a></p>
+<p id="n1700" class="stm mis"><a href="#n1700">1700</a></p>
+<p id="n1701" class="stm mis"><a href="#n1701">1701</a></p>
+<p id="n1702" class="stm mis"><a href="#n1702">1702</a></p>
+<p id="n1703" class="stm mis"><a href="#n1703">1703</a></p>
+<p id="n1704" class="stm mis"><a href="#n1704">1704</a></p>
<p id="n1705" class="pln"><a href="#n1705">1705</a></p>
-<p id="n1706" class="stm run hide_run"><a href="#n1706">1706</a></p>
-<p id="n1707" class="stm run hide_run"><a href="#n1707">1707</a></p>
-<p id="n1708" class="stm run hide_run"><a href="#n1708">1708</a></p>
-<p id="n1709" class="stm run hide_run"><a href="#n1709">1709</a></p>
-<p id="n1710" class="stm run hide_run"><a href="#n1710">1710</a></p>
-<p id="n1711" class="stm run hide_run"><a href="#n1711">1711</a></p>
-<p id="n1712" class="stm run hide_run"><a href="#n1712">1712</a></p>
+<p id="n1706" class="stm mis"><a href="#n1706">1706</a></p>
+<p id="n1707" class="stm mis"><a href="#n1707">1707</a></p>
+<p id="n1708" class="stm mis"><a href="#n1708">1708</a></p>
+<p id="n1709" class="stm mis"><a href="#n1709">1709</a></p>
+<p id="n1710" class="stm mis"><a href="#n1710">1710</a></p>
+<p id="n1711" class="stm mis"><a href="#n1711">1711</a></p>
+<p id="n1712" class="stm mis"><a href="#n1712">1712</a></p>
<p id="n1713" class="pln"><a href="#n1713">1713</a></p>
<p id="n1714" class="pln"><a href="#n1714">1714</a></p>
<p id="n1715" class="stm run hide_run"><a href="#n1715">1715</a></p>
-<p id="n1716" class="stm run hide_run"><a href="#n1716">1716</a></p>
+<p id="n1716" class="stm mis"><a href="#n1716">1716</a></p>
<p id="n1717" class="pln"><a href="#n1717">1717</a></p>
<p id="n1718" class="pln"><a href="#n1718">1718</a></p>
<p id="n1719" class="pln"><a href="#n1719">1719</a></p>
@@ -1806,12 +1806,12 @@
<p id="n1735" class="pln"><a href="#n1735">1735</a></p>
<p id="n1736" class="pln"><a href="#n1736">1736</a></p>
<p id="n1737" class="pln"><a href="#n1737">1737</a></p>
-<p id="n1738" class="stm run hide_run"><a href="#n1738">1738</a></p>
-<p id="n1739" class="stm run hide_run"><a href="#n1739">1739</a></p>
-<p id="n1740" class="stm run hide_run"><a href="#n1740">1740</a></p>
+<p id="n1738" class="stm mis"><a href="#n1738">1738</a></p>
+<p id="n1739" class="stm mis"><a href="#n1739">1739</a></p>
+<p id="n1740" class="stm mis"><a href="#n1740">1740</a></p>
<p id="n1741" class="pln"><a href="#n1741">1741</a></p>
<p id="n1742" class="stm run hide_run"><a href="#n1742">1742</a></p>
-<p id="n1743" class="stm run hide_run"><a href="#n1743">1743</a></p>
+<p id="n1743" class="stm mis"><a href="#n1743">1743</a></p>
<p id="n1744" class="pln"><a href="#n1744">1744</a></p>
<p id="n1745" class="pln"><a href="#n1745">1745</a></p>
<p id="n1746" class="pln"><a href="#n1746">1746</a></p>
@@ -1826,12 +1826,12 @@
<p id="n1755" class="pln"><a href="#n1755">1755</a></p>
<p id="n1756" class="pln"><a href="#n1756">1756</a></p>
<p id="n1757" class="pln"><a href="#n1757">1757</a></p>
-<p id="n1758" class="stm run hide_run"><a href="#n1758">1758</a></p>
-<p id="n1759" class="stm run hide_run"><a href="#n1759">1759</a></p>
-<p id="n1760" class="stm run hide_run"><a href="#n1760">1760</a></p>
+<p id="n1758" class="stm mis"><a href="#n1758">1758</a></p>
+<p id="n1759" class="stm mis"><a href="#n1759">1759</a></p>
+<p id="n1760" class="stm mis"><a href="#n1760">1760</a></p>
<p id="n1761" class="pln"><a href="#n1761">1761</a></p>
<p id="n1762" class="stm run hide_run"><a href="#n1762">1762</a></p>
-<p id="n1763" class="stm run hide_run"><a href="#n1763">1763</a></p>
+<p id="n1763" class="stm mis"><a href="#n1763">1763</a></p>
<p id="n1764" class="pln"><a href="#n1764">1764</a></p>
<p id="n1765" class="pln"><a href="#n1765">1765</a></p>
<p id="n1766" class="pln"><a href="#n1766">1766</a></p>
@@ -1844,9 +1844,9 @@
<p id="n1773" class="pln"><a href="#n1773">1773</a></p>
<p id="n1774" class="pln"><a href="#n1774">1774</a></p>
<p id="n1775" class="pln"><a href="#n1775">1775</a></p>
-<p id="n1776" class="stm run hide_run"><a href="#n1776">1776</a></p>
-<p id="n1777" class="stm run hide_run"><a href="#n1777">1777</a></p>
-<p id="n1778" class="stm run hide_run"><a href="#n1778">1778</a></p>
+<p id="n1776" class="stm mis"><a href="#n1776">1776</a></p>
+<p id="n1777" class="stm mis"><a href="#n1777">1777</a></p>
+<p id="n1778" class="stm mis"><a href="#n1778">1778</a></p>
<p id="n1779" class="pln"><a href="#n1779">1779</a></p>
<p id="n1780" class="pln"><a href="#n1780">1780</a></p>
<p id="n1781" class="stm run hide_run"><a href="#n1781">1781</a></p>
@@ -1882,41 +1882,41 @@
<p id="n1811" class="exc"><a href="#n1811">1811</a></p>
<p id="n1812" class="pln"><a href="#n1812">1812</a></p>
<p id="n1813" class="stm run hide_run"><a href="#n1813">1813</a></p>
-<p id="n1814" class="stm run hide_run"><a href="#n1814">1814</a></p>
-<p id="n1815" class="stm run hide_run"><a href="#n1815">1815</a></p>
-<p id="n1816" class="stm run hide_run"><a href="#n1816">1816</a></p>
-<p id="n1817" class="stm run hide_run"><a href="#n1817">1817</a></p>
-<p id="n1818" class="stm run hide_run"><a href="#n1818">1818</a></p>
+<p id="n1814" class="stm mis"><a href="#n1814">1814</a></p>
+<p id="n1815" class="stm mis"><a href="#n1815">1815</a></p>
+<p id="n1816" class="stm mis"><a href="#n1816">1816</a></p>
+<p id="n1817" class="stm mis"><a href="#n1817">1817</a></p>
+<p id="n1818" class="stm mis"><a href="#n1818">1818</a></p>
<p id="n1819" class="pln"><a href="#n1819">1819</a></p>
<p id="n1820" class="stm run hide_run"><a href="#n1820">1820</a></p>
-<p id="n1821" class="stm run hide_run"><a href="#n1821">1821</a></p>
-<p id="n1822" class="stm run hide_run"><a href="#n1822">1822</a></p>
+<p id="n1821" class="stm mis"><a href="#n1821">1821</a></p>
+<p id="n1822" class="stm mis"><a href="#n1822">1822</a></p>
<p id="n1823" class="pln"><a href="#n1823">1823</a></p>
<p id="n1824" class="stm run hide_run"><a href="#n1824">1824</a></p>
-<p id="n1825" class="stm run hide_run"><a href="#n1825">1825</a></p>
-<p id="n1826" class="stm run hide_run"><a href="#n1826">1826</a></p>
-<p id="n1827" class="stm run hide_run"><a href="#n1827">1827</a></p>
+<p id="n1825" class="stm mis"><a href="#n1825">1825</a></p>
+<p id="n1826" class="stm mis"><a href="#n1826">1826</a></p>
+<p id="n1827" class="stm mis"><a href="#n1827">1827</a></p>
<p id="n1828" class="pln"><a href="#n1828">1828</a></p>
<p id="n1829" class="stm run hide_run"><a href="#n1829">1829</a></p>
-<p id="n1830" class="stm run hide_run"><a href="#n1830">1830</a></p>
-<p id="n1831" class="stm run hide_run"><a href="#n1831">1831</a></p>
-<p id="n1832" class="stm run hide_run"><a href="#n1832">1832</a></p>
+<p id="n1830" class="stm mis"><a href="#n1830">1830</a></p>
+<p id="n1831" class="stm mis"><a href="#n1831">1831</a></p>
+<p id="n1832" class="stm mis"><a href="#n1832">1832</a></p>
<p id="n1833" class="pln"><a href="#n1833">1833</a></p>
<p id="n1834" class="stm run hide_run"><a href="#n1834">1834</a></p>
-<p id="n1835" class="stm run hide_run"><a href="#n1835">1835</a></p>
-<p id="n1836" class="stm run hide_run"><a href="#n1836">1836</a></p>
-<p id="n1837" class="stm run hide_run"><a href="#n1837">1837</a></p>
+<p id="n1835" class="stm mis"><a href="#n1835">1835</a></p>
+<p id="n1836" class="stm mis"><a href="#n1836">1836</a></p>
+<p id="n1837" class="stm mis"><a href="#n1837">1837</a></p>
<p id="n1838" class="pln"><a href="#n1838">1838</a></p>
<p id="n1839" class="stm run hide_run"><a href="#n1839">1839</a></p>
-<p id="n1840" class="stm run hide_run"><a href="#n1840">1840</a></p>
-<p id="n1841" class="stm run hide_run"><a href="#n1841">1841</a></p>
-<p id="n1842" class="stm run hide_run"><a href="#n1842">1842</a></p>
+<p id="n1840" class="stm mis"><a href="#n1840">1840</a></p>
+<p id="n1841" class="stm mis"><a href="#n1841">1841</a></p>
+<p id="n1842" class="stm mis"><a href="#n1842">1842</a></p>
<p id="n1843" class="pln"><a href="#n1843">1843</a></p>
<p id="n1844" class="pln"><a href="#n1844">1844</a></p>
<p id="n1845" class="stm run hide_run"><a href="#n1845">1845</a></p>
<p id="n1846" class="pln"><a href="#n1846">1846</a></p>
<p id="n1847" class="stm run hide_run"><a href="#n1847">1847</a></p>
-<p id="n1848" class="stm run hide_run"><a href="#n1848">1848</a></p>
+<p id="n1848" class="stm mis"><a href="#n1848">1848</a></p>
<p id="n1849" class="pln"><a href="#n1849">1849</a></p>
<p id="n1850" class="pln"><a href="#n1850">1850</a></p>
<p id="n1851" class="pln"><a href="#n1851">1851</a></p>
@@ -1936,12 +1936,12 @@
<p id="n1865" class="pln"><a href="#n1865">1865</a></p>
<p id="n1866" class="pln"><a href="#n1866">1866</a></p>
<p id="n1867" class="pln"><a href="#n1867">1867</a></p>
-<p id="n1868" class="stm run hide_run"><a href="#n1868">1868</a></p>
-<p id="n1869" class="stm run hide_run"><a href="#n1869">1869</a></p>
-<p id="n1870" class="stm run hide_run"><a href="#n1870">1870</a></p>
+<p id="n1868" class="stm mis"><a href="#n1868">1868</a></p>
+<p id="n1869" class="stm mis"><a href="#n1869">1869</a></p>
+<p id="n1870" class="stm mis"><a href="#n1870">1870</a></p>
<p id="n1871" class="pln"><a href="#n1871">1871</a></p>
<p id="n1872" class="stm run hide_run"><a href="#n1872">1872</a></p>
-<p id="n1873" class="stm run hide_run"><a href="#n1873">1873</a></p>
+<p id="n1873" class="stm mis"><a href="#n1873">1873</a></p>
<p id="n1874" class="pln"><a href="#n1874">1874</a></p>
<p id="n1875" class="pln"><a href="#n1875">1875</a></p>
<p id="n1876" class="pln"><a href="#n1876">1876</a></p>
@@ -1965,12 +1965,12 @@
<p id="n1894" class="pln"><a href="#n1894">1894</a></p>
<p id="n1895" class="pln"><a href="#n1895">1895</a></p>
<p id="n1896" class="pln"><a href="#n1896">1896</a></p>
-<p id="n1897" class="stm run hide_run"><a href="#n1897">1897</a></p>
-<p id="n1898" class="stm run hide_run"><a href="#n1898">1898</a></p>
-<p id="n1899" class="stm run hide_run"><a href="#n1899">1899</a></p>
+<p id="n1897" class="stm mis"><a href="#n1897">1897</a></p>
+<p id="n1898" class="stm mis"><a href="#n1898">1898</a></p>
+<p id="n1899" class="stm mis"><a href="#n1899">1899</a></p>
<p id="n1900" class="pln"><a href="#n1900">1900</a></p>
<p id="n1901" class="stm run hide_run"><a href="#n1901">1901</a></p>
-<p id="n1902" class="stm run hide_run"><a href="#n1902">1902</a></p>
+<p id="n1902" class="stm mis"><a href="#n1902">1902</a></p>
<p id="n1903" class="pln"><a href="#n1903">1903</a></p>
<p id="n1904" class="pln"><a href="#n1904">1904</a></p>
<p id="n1905" class="pln"><a href="#n1905">1905</a></p>
@@ -1994,12 +1994,12 @@
<p id="n1923" class="pln"><a href="#n1923">1923</a></p>
<p id="n1924" class="pln"><a href="#n1924">1924</a></p>
<p id="n1925" class="pln"><a href="#n1925">1925</a></p>
-<p id="n1926" class="stm run hide_run"><a href="#n1926">1926</a></p>
-<p id="n1927" class="stm run hide_run"><a href="#n1927">1927</a></p>
-<p id="n1928" class="stm run hide_run"><a href="#n1928">1928</a></p>
+<p id="n1926" class="stm mis"><a href="#n1926">1926</a></p>
+<p id="n1927" class="stm mis"><a href="#n1927">1927</a></p>
+<p id="n1928" class="stm mis"><a href="#n1928">1928</a></p>
<p id="n1929" class="pln"><a href="#n1929">1929</a></p>
<p id="n1930" class="stm run hide_run"><a href="#n1930">1930</a></p>
-<p id="n1931" class="stm run hide_run"><a href="#n1931">1931</a></p>
+<p id="n1931" class="stm mis"><a href="#n1931">1931</a></p>
<p id="n1932" class="pln"><a href="#n1932">1932</a></p>
<p id="n1933" class="pln"><a href="#n1933">1933</a></p>
<p id="n1934" class="pln"><a href="#n1934">1934</a></p>
@@ -2072,37 +2072,37 @@
<p id="n2001" class="pln"><a href="#n2001">2001</a></p>
<p id="n2002" class="pln"><a href="#n2002">2002</a></p>
<p id="n2003" class="pln"><a href="#n2003">2003</a></p>
-<p id="n2004" class="stm run hide_run"><a href="#n2004">2004</a></p>
-<p id="n2005" class="stm run hide_run"><a href="#n2005">2005</a></p>
+<p id="n2004" class="stm mis"><a href="#n2004">2004</a></p>
+<p id="n2005" class="stm mis"><a href="#n2005">2005</a></p>
<p id="n2006" class="pln"><a href="#n2006">2006</a></p>
-<p id="n2007" class="stm run hide_run"><a href="#n2007">2007</a></p>
-<p id="n2008" class="stm run hide_run"><a href="#n2008">2008</a></p>
+<p id="n2007" class="stm mis"><a href="#n2007">2007</a></p>
+<p id="n2008" class="stm mis"><a href="#n2008">2008</a></p>
<p id="n2009" class="pln"><a href="#n2009">2009</a></p>
-<p id="n2010" class="stm run hide_run"><a href="#n2010">2010</a></p>
-<p id="n2011" class="stm run hide_run"><a href="#n2011">2011</a></p>
+<p id="n2010" class="stm mis"><a href="#n2010">2010</a></p>
+<p id="n2011" class="stm mis"><a href="#n2011">2011</a></p>
<p id="n2012" class="pln"><a href="#n2012">2012</a></p>
-<p id="n2013" class="stm run hide_run"><a href="#n2013">2013</a></p>
-<p id="n2014" class="stm run hide_run"><a href="#n2014">2014</a></p>
+<p id="n2013" class="stm mis"><a href="#n2013">2013</a></p>
+<p id="n2014" class="stm mis"><a href="#n2014">2014</a></p>
<p id="n2015" class="pln"><a href="#n2015">2015</a></p>
-<p id="n2016" class="stm run hide_run"><a href="#n2016">2016</a></p>
-<p id="n2017" class="stm run hide_run"><a href="#n2017">2017</a></p>
+<p id="n2016" class="stm mis"><a href="#n2016">2016</a></p>
+<p id="n2017" class="stm mis"><a href="#n2017">2017</a></p>
<p id="n2018" class="pln"><a href="#n2018">2018</a></p>
-<p id="n2019" class="stm run hide_run"><a href="#n2019">2019</a></p>
-<p id="n2020" class="stm run hide_run"><a href="#n2020">2020</a></p>
+<p id="n2019" class="stm mis"><a href="#n2019">2019</a></p>
+<p id="n2020" class="stm mis"><a href="#n2020">2020</a></p>
<p id="n2021" class="pln"><a href="#n2021">2021</a></p>
-<p id="n2022" class="stm run hide_run"><a href="#n2022">2022</a></p>
+<p id="n2022" class="stm mis"><a href="#n2022">2022</a></p>
<p id="n2023" class="pln"><a href="#n2023">2023</a></p>
<p id="n2024" class="stm run hide_run"><a href="#n2024">2024</a></p>
-<p id="n2025" class="stm run hide_run"><a href="#n2025">2025</a></p>
-<p id="n2026" class="stm run hide_run"><a href="#n2026">2026</a></p>
-<p id="n2027" class="stm run hide_run"><a href="#n2027">2027</a></p>
-<p id="n2028" class="stm run hide_run"><a href="#n2028">2028</a></p>
+<p id="n2025" class="stm mis"><a href="#n2025">2025</a></p>
+<p id="n2026" class="stm mis"><a href="#n2026">2026</a></p>
+<p id="n2027" class="stm mis"><a href="#n2027">2027</a></p>
+<p id="n2028" class="stm mis"><a href="#n2028">2028</a></p>
<p id="n2029" class="pln"><a href="#n2029">2029</a></p>
<p id="n2030" class="pln"><a href="#n2030">2030</a></p>
<p id="n2031" class="stm run hide_run"><a href="#n2031">2031</a></p>
<p id="n2032" class="pln"><a href="#n2032">2032</a></p>
<p id="n2033" class="stm run hide_run"><a href="#n2033">2033</a></p>
-<p id="n2034" class="stm run hide_run"><a href="#n2034">2034</a></p>
+<p id="n2034" class="stm mis"><a href="#n2034">2034</a></p>
<p id="n2035" class="pln"><a href="#n2035">2035</a></p>
<p id="n2036" class="pln"><a href="#n2036">2036</a></p>
<p id="n2037" class="pln"><a href="#n2037">2037</a></p>
@@ -2119,17 +2119,17 @@
<p id="n2048" class="pln"><a href="#n2048">2048</a></p>
<p id="n2049" class="pln"><a href="#n2049">2049</a></p>
<p id="n2050" class="pln"><a href="#n2050">2050</a></p>
-<p id="n2051" class="stm run hide_run"><a href="#n2051">2051</a></p>
-<p id="n2052" class="stm run hide_run"><a href="#n2052">2052</a></p>
+<p id="n2051" class="stm mis"><a href="#n2051">2051</a></p>
+<p id="n2052" class="stm mis"><a href="#n2052">2052</a></p>
<p id="n2053" class="pln"><a href="#n2053">2053</a></p>
<p id="n2054" class="pln"><a href="#n2054">2054</a></p>
<p id="n2055" class="pln"><a href="#n2055">2055</a></p>
<p id="n2056" class="pln"><a href="#n2056">2056</a></p>
-<p id="n2057" class="stm run hide_run"><a href="#n2057">2057</a></p>
+<p id="n2057" class="stm mis"><a href="#n2057">2057</a></p>
<p id="n2058" class="pln"><a href="#n2058">2058</a></p>
<p id="n2059" class="stm run hide_run"><a href="#n2059">2059</a></p>
<p id="n2060" class="pln"><a href="#n2060">2060</a></p>
-<p id="n2061" class="stm run hide_run"><a href="#n2061">2061</a></p>
+<p id="n2061" class="stm mis"><a href="#n2061">2061</a></p>
<p id="n2062" class="pln"><a href="#n2062">2062</a></p>
<p id="n2063" class="pln"><a href="#n2063">2063</a></p>
<p id="n2064" class="pln"><a href="#n2064">2064</a></p>
@@ -2146,16 +2146,16 @@
<p id="n2075" class="pln"><a href="#n2075">2075</a></p>
<p id="n2076" class="pln"><a href="#n2076">2076</a></p>
<p id="n2077" class="pln"><a href="#n2077">2077</a></p>
-<p id="n2078" class="stm run hide_run"><a href="#n2078">2078</a></p>
-<p id="n2079" class="stm run hide_run"><a href="#n2079">2079</a></p>
+<p id="n2078" class="stm mis"><a href="#n2078">2078</a></p>
+<p id="n2079" class="stm mis"><a href="#n2079">2079</a></p>
<p id="n2080" class="pln"><a href="#n2080">2080</a></p>
<p id="n2081" class="pln"><a href="#n2081">2081</a></p>
<p id="n2082" class="pln"><a href="#n2082">2082</a></p>
<p id="n2083" class="pln"><a href="#n2083">2083</a></p>
-<p id="n2084" class="stm run hide_run"><a href="#n2084">2084</a></p>
+<p id="n2084" class="stm mis"><a href="#n2084">2084</a></p>
<p id="n2085" class="pln"><a href="#n2085">2085</a></p>
<p id="n2086" class="stm run hide_run"><a href="#n2086">2086</a></p>
-<p id="n2087" class="stm run hide_run"><a href="#n2087">2087</a></p>
+<p id="n2087" class="stm mis"><a href="#n2087">2087</a></p>
<p id="n2088" class="pln"><a href="#n2088">2088</a></p>
<p id="n2089" class="pln"><a href="#n2089">2089</a></p>
<p id="n2090" class="pln"><a href="#n2090">2090</a></p>
@@ -2172,13 +2172,13 @@
<p id="n2101" class="pln"><a href="#n2101">2101</a></p>
<p id="n2102" class="pln"><a href="#n2102">2102</a></p>
<p id="n2103" class="pln"><a href="#n2103">2103</a></p>
-<p id="n2104" class="stm run hide_run"><a href="#n2104">2104</a></p>
-<p id="n2105" class="stm run hide_run"><a href="#n2105">2105</a></p>
+<p id="n2104" class="stm mis"><a href="#n2104">2104</a></p>
+<p id="n2105" class="stm mis"><a href="#n2105">2105</a></p>
<p id="n2106" class="pln"><a href="#n2106">2106</a></p>
<p id="n2107" class="pln"><a href="#n2107">2107</a></p>
<p id="n2108" class="pln"><a href="#n2108">2108</a></p>
<p id="n2109" class="pln"><a href="#n2109">2109</a></p>
-<p id="n2110" class="stm run hide_run"><a href="#n2110">2110</a></p>
+<p id="n2110" class="stm mis"><a href="#n2110">2110</a></p>
<p id="n2111" class="pln"><a href="#n2111">2111</a></p>
<p id="n2112" class="pln"><a href="#n2112">2112</a></p>
<p id="n2113" class="stm run hide_run"><a href="#n2113">2113</a></p>
@@ -2186,7 +2186,7 @@
<p id="n2115" class="pln"><a href="#n2115">2115</a></p>
<p id="n2116" class="stm run hide_run"><a href="#n2116">2116</a></p>
<p id="n2117" class="pln"><a href="#n2117">2117</a></p>
-<p id="n2118" class="stm run hide_run"><a href="#n2118">2118</a></p>
+<p id="n2118" class="stm mis"><a href="#n2118">2118</a></p>
<p id="n2119" class="pln"><a href="#n2119">2119</a></p>
<p id="n2120" class="pln"><a href="#n2120">2120</a></p>
<p id="n2121" class="pln"><a href="#n2121">2121</a></p>
@@ -2208,25 +2208,25 @@
<p id="n2137" class="pln"><a href="#n2137">2137</a></p>
<p id="n2138" class="pln"><a href="#n2138">2138</a></p>
<p id="n2139" class="pln"><a href="#n2139">2139</a></p>
-<p id="n2140" class="stm run hide_run"><a href="#n2140">2140</a></p>
-<p id="n2141" class="stm run hide_run"><a href="#n2141">2141</a></p>
-<p id="n2142" class="stm run hide_run"><a href="#n2142">2142</a></p>
+<p id="n2140" class="stm mis"><a href="#n2140">2140</a></p>
+<p id="n2141" class="stm mis"><a href="#n2141">2141</a></p>
+<p id="n2142" class="stm mis"><a href="#n2142">2142</a></p>
<p id="n2143" class="pln"><a href="#n2143">2143</a></p>
<p id="n2144" class="stm run hide_run"><a href="#n2144">2144</a></p>
-<p id="n2145" class="stm run hide_run"><a href="#n2145">2145</a></p>
+<p id="n2145" class="stm mis"><a href="#n2145">2145</a></p>
<p id="n2146" class="pln"><a href="#n2146">2146</a></p>
<p id="n2147" class="pln"><a href="#n2147">2147</a></p>
<p id="n2148" class="pln"><a href="#n2148">2148</a></p>
<p id="n2149" class="pln"><a href="#n2149">2149</a></p>
<p id="n2150" class="pln"><a href="#n2150">2150</a></p>
-<p id="n2151" class="stm run hide_run"><a href="#n2151">2151</a></p>
-<p id="n2152" class="stm run hide_run"><a href="#n2152">2152</a></p>
-<p id="n2153" class="stm run hide_run"><a href="#n2153">2153</a></p>
+<p id="n2151" class="stm mis"><a href="#n2151">2151</a></p>
+<p id="n2152" class="stm mis"><a href="#n2152">2152</a></p>
+<p id="n2153" class="stm mis"><a href="#n2153">2153</a></p>
<p id="n2154" class="pln"><a href="#n2154">2154</a></p>
<p id="n2155" class="stm run hide_run"><a href="#n2155">2155</a></p>
<p id="n2156" class="pln"><a href="#n2156">2156</a></p>
<p id="n2157" class="pln"><a href="#n2157">2157</a></p>
-<p id="n2158" class="stm run hide_run"><a href="#n2158">2158</a></p>
+<p id="n2158" class="stm mis"><a href="#n2158">2158</a></p>
<p id="n2159" class="pln"><a href="#n2159">2159</a></p>
<p id="n2160" class="pln"><a href="#n2160">2160</a></p>
<p id="n2161" class="pln"><a href="#n2161">2161</a></p>
@@ -2244,19 +2244,19 @@
<p id="n2173" class="pln"><a href="#n2173">2173</a></p>
<p id="n2174" class="pln"><a href="#n2174">2174</a></p>
<p id="n2175" class="pln"><a href="#n2175">2175</a></p>
-<p id="n2176" class="stm run hide_run"><a href="#n2176">2176</a></p>
-<p id="n2177" class="stm run hide_run"><a href="#n2177">2177</a></p>
-<p id="n2178" class="stm run hide_run"><a href="#n2178">2178</a></p>
-<p id="n2179" class="stm run hide_run"><a href="#n2179">2179</a></p>
-<p id="n2180" class="stm run hide_run"><a href="#n2180">2180</a></p>
-<p id="n2181" class="stm run hide_run"><a href="#n2181">2181</a></p>
+<p id="n2176" class="stm mis"><a href="#n2176">2176</a></p>
+<p id="n2177" class="stm mis"><a href="#n2177">2177</a></p>
+<p id="n2178" class="stm mis"><a href="#n2178">2178</a></p>
+<p id="n2179" class="stm mis"><a href="#n2179">2179</a></p>
+<p id="n2180" class="stm mis"><a href="#n2180">2180</a></p>
+<p id="n2181" class="stm mis"><a href="#n2181">2181</a></p>
<p id="n2182" class="pln"><a href="#n2182">2182</a></p>
<p id="n2183" class="pln"><a href="#n2183">2183</a></p>
<p id="n2184" class="stm run hide_run"><a href="#n2184">2184</a></p>
<p id="n2185" class="pln"><a href="#n2185">2185</a></p>
<p id="n2186" class="stm run hide_run"><a href="#n2186">2186</a></p>
<p id="n2187" class="pln"><a href="#n2187">2187</a></p>
-<p id="n2188" class="stm run hide_run"><a href="#n2188">2188</a></p>
+<p id="n2188" class="stm mis"><a href="#n2188">2188</a></p>
<p id="n2189" class="pln"><a href="#n2189">2189</a></p>
<p id="n2190" class="pln"><a href="#n2190">2190</a></p>
<p id="n2191" class="pln"><a href="#n2191">2191</a></p>
@@ -2265,14 +2265,14 @@
<p id="n2194" class="pln"><a href="#n2194">2194</a></p>
<p id="n2195" class="pln"><a href="#n2195">2195</a></p>
<p id="n2196" class="pln"><a href="#n2196">2196</a></p>
-<p id="n2197" class="stm run hide_run"><a href="#n2197">2197</a></p>
-<p id="n2198" class="stm run hide_run"><a href="#n2198">2198</a></p>
-<p id="n2199" class="stm run hide_run"><a href="#n2199">2199</a></p>
-<p id="n2200" class="stm run hide_run"><a href="#n2200">2200</a></p>
+<p id="n2197" class="stm mis"><a href="#n2197">2197</a></p>
+<p id="n2198" class="stm mis"><a href="#n2198">2198</a></p>
+<p id="n2199" class="stm mis"><a href="#n2199">2199</a></p>
+<p id="n2200" class="stm mis"><a href="#n2200">2200</a></p>
<p id="n2201" class="pln"><a href="#n2201">2201</a></p>
<p id="n2202" class="stm run hide_run"><a href="#n2202">2202</a></p>
<p id="n2203" class="pln"><a href="#n2203">2203</a></p>
-<p id="n2204" class="stm run hide_run"><a href="#n2204">2204</a></p>
+<p id="n2204" class="stm mis"><a href="#n2204">2204</a></p>
<p id="n2205" class="pln"><a href="#n2205">2205</a></p>
<p id="n2206" class="pln"><a href="#n2206">2206</a></p>
<p id="n2207" class="pln"><a href="#n2207">2207</a></p>
@@ -2281,12 +2281,12 @@
<p id="n2210" class="pln"><a href="#n2210">2210</a></p>
<p id="n2211" class="pln"><a href="#n2211">2211</a></p>
<p id="n2212" class="pln"><a href="#n2212">2212</a></p>
-<p id="n2213" class="stm run hide_run"><a href="#n2213">2213</a></p>
-<p id="n2214" class="stm run hide_run"><a href="#n2214">2214</a></p>
-<p id="n2215" class="stm run hide_run"><a href="#n2215">2215</a></p>
-<p id="n2216" class="stm run hide_run"><a href="#n2216">2216</a></p>
-<p id="n2217" class="stm run hide_run"><a href="#n2217">2217</a></p>
-<p id="n2218" class="stm run hide_run"><a href="#n2218">2218</a></p>
+<p id="n2213" class="stm mis"><a href="#n2213">2213</a></p>
+<p id="n2214" class="stm mis"><a href="#n2214">2214</a></p>
+<p id="n2215" class="stm mis"><a href="#n2215">2215</a></p>
+<p id="n2216" class="stm mis"><a href="#n2216">2216</a></p>
+<p id="n2217" class="stm mis"><a href="#n2217">2217</a></p>
+<p id="n2218" class="stm mis"><a href="#n2218">2218</a></p>
<p id="n2219" class="pln"><a href="#n2219">2219</a></p>
<p id="n2220" class="pln"><a href="#n2220">2220</a></p>
<p id="n2221" class="pln"><a href="#n2221">2221</a></p>
@@ -2725,46 +2725,46 @@
<p id="t429" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t430" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t431" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEquality</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t432" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t433" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t434" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t435" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-r&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t436" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t437" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-r&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t438" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t432" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t433" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t434" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t435" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-r&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t436" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t437" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-r&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t438" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t439" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t440" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCloning</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t441" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t442" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;booey&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; /*x*/&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t443" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">o</span><span class="op">.</span><span class="nam">clone</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t444" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t445" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;huey&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;foo=quux&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t446" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t447" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">q</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t448" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">q</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;booey&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; /*x*/&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;huey&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;foo=quux&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t449" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">p</span><span class="op">,</span> <span class="nam">q</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t441" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t442" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;booey&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; /*x*/&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t443" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">o</span><span class="op">.</span><span class="nam">clone</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t444" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t445" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;huey&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;foo=quux&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t446" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t447" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">q</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t448" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">q</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;booey&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; /*x*/&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;huey&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;foo=quux&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t449" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">p</span><span class="op">,</span> <span class="nam">q</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t450" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t451" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCombiningFlags</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t452" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Single-character flags can be combined.</span><span class="strut">&nbsp;</span></p>
-<p id="t453" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t454" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t455" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t456" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-erz&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t457" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t453" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t454" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t455" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t456" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">p</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;-erz&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t457" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">o</span><span class="op">,</span> <span class="nam">p</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t458" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t459" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t460" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t461" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">_parse_markers</span><span class="op">(</span><span class="str">&#39;a b c&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t462" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;a&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t463" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;b&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t464" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;c&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t460" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t461" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">_parse_markers</span><span class="op">(</span><span class="str">&#39;a b c&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t462" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;a&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t463" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;b&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t464" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;c&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t465" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t466" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMarkersSwitch</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t467" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t468" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;--markers&#39;</span><span class="op">,</span> <span class="str">&#39;a b c&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t469" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;a&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t470" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;b&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t471" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;c&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t467" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span> <span class="op">=</span> <span class="nam">CogOptions</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t468" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">o</span><span class="op">.</span><span class="nam">parseArgs</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;--markers&#39;</span><span class="op">,</span> <span class="str">&#39;a b c&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t469" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;a&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sBeginSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t470" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;b&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndSpec</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t471" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;c&#39;</span><span class="op">,</span> <span class="nam">o</span><span class="op">.</span><span class="nam">sEndOutput</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t472" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t473" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t474" class="stm run hide_run"><span class="key">class</span> <span class="nam">FileStructureTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -2773,28 +2773,28 @@
<p id="t477" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t478" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t479" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">isBad</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">infile</span><span class="op">,</span> <span class="nam">msg</span><span class="op">=</span><span class="nam">None</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t480" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t481" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t482" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&#39;infile.txt&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t480" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t481" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="nam">msg</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t482" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&#39;infile.txt&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t483" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t484" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBeginNoEnd</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t485" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t485" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t486" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class="strut">&nbsp;</span></p>
<p id="t487" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t488" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
<p id="t489" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t490" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(2): Cog block begun but never ended.&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t490" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(2): Cog block begun but never ended.&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t491" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t492" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoEoo</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t493" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t493" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t494" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class="strut">&nbsp;</span></p>
<p id="t495" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t496" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
<p id="t497" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t498" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t499" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(4): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t499" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(4): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t500" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t501" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t501" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t502" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Fooey</span><span class="strut">&nbsp;</span></p>
<p id="t503" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t504" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
@@ -2803,47 +2803,47 @@
<p id="t507" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;goodbye&#39;)</span><span class="strut">&nbsp;</span></p>
<p id="t508" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t509" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t510" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t510" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t511" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t512" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testStartWithEnd</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t513" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t513" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t514" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t515" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t516" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(1): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t516" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(1): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t517" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t518" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t518" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t519" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t520" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
<p id="t521" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t522" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t523" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t524" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t525" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t525" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t526" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t527" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testStartWithEoo</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t528" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t528" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t529" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t530" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t531" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(1): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t531" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(1): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t532" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t533" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t533" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t534" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t535" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
<p id="t536" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t537" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t538" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t539" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t540" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t540" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(5): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t541" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t542" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoEnd</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t543" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t543" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t544" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t545" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t546" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t547" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t548" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(3): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t548" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(3): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t549" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t550" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t550" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t551" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t552" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&#39;hello&#39;)</span><span class="strut">&nbsp;</span></p>
<p id="t553" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
@@ -2852,19 +2852,19 @@
<p id="t556" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t557" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t558" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t559" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(7): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t559" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(7): Unexpected &#39;[[[end]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t560" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t561" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoBegins</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t562" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t562" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t563" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t564" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t565" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t566" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t567" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t568" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t569" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(2): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t569" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(2): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t570" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t571" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t571" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t572" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t573" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t574" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
@@ -2875,19 +2875,19 @@
<p id="t579" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t580" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t581" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t582" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(6): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t582" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(6): Unexpected &#39;[[[cog&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t583" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t584" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoEnds</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t585" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t585" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t586" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t587" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t588" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t589" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t590" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t591" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t592" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(4): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t592" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile</span><span class="op">,</span> <span class="str">&quot;infile.txt(4): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t593" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t594" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t594" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile2</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t595" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t596" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t597" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
@@ -2898,7 +2898,7 @@
<p id="t602" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t603" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t604" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t605" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(8): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t605" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">isBad</span><span class="op">(</span><span class="nam">infile2</span><span class="op">,</span> <span class="str">&quot;infile.txt(8): Unexpected &#39;]]]&#39;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t606" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t607" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t608" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogErrorTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -2906,27 +2906,27 @@
<p id="t610" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t611" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t612" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorMsg</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t613" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t613" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t614" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.error(&quot;This ain&#39;t right!&quot;)]]]</span><span class="strut">&nbsp;</span></p>
<p id="t615" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t616" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t617" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t618" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t619" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogGeneratedError</span><span class="op">,</span> <span class="str">&quot;This ain&#39;t right!&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t620" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t618" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t619" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogGeneratedError</span><span class="op">,</span> <span class="str">&quot;This ain&#39;t right!&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t620" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t621" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t622" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorNoMsg</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t623" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t623" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t624" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[cog cog.error()]]]</span><span class="strut">&nbsp;</span></p>
<p id="t625" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t626" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t627" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t628" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t629" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogGeneratedError</span><span class="op">,</span> <span class="str">&quot;Error raised by cog generator.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t630" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t628" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t629" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogGeneratedError</span><span class="op">,</span> <span class="str">&quot;Error raised by cog generator.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t630" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t631" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t632" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoErrorIfErrorNotCalled</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t633" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t633" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t634" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t635" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --import cog</span><span class="strut">&nbsp;</span></p>
<p id="t636" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --for i in range(3):</span><span class="strut">&nbsp;</span></p>
@@ -2940,8 +2940,8 @@
<p id="t644" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t645" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t646" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t647" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t648" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t647" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t648" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t649" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t650" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t651" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogGeneratorGetCodeTests</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -2953,63 +2953,63 @@
<p id="t657" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; All tests get a generator to use, and short same-length names for</span><span class="strut">&nbsp;</span></p>
<p id="t658" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the functions we&#39;re going to use.</span><span class="strut">&nbsp;</span></p>
<p id="t659" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t660" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span> <span class="op">=</span> <span class="nam">CogGenerator</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t661" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">parseMarker</span><span class="strut">&nbsp;</span></p>
-<p id="t662" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">parseLine</span><span class="strut">&nbsp;</span></p>
+<p id="t660" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span> <span class="op">=</span> <span class="nam">CogGenerator</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t661" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">parseMarker</span><span class="strut">&nbsp;</span></p>
+<p id="t662" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">parseLine</span><span class="strut">&nbsp;</span></p>
<p id="t663" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t664" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEmpty</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t665" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t666" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t667" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t665" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t666" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t667" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t668" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t669" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t670" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t671" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&nbsp; print &quot;hello&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t672" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&nbsp; print &quot;bye&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t673" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t674" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;print &quot;hello&quot;\nprint &quot;bye&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t670" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t671" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&nbsp; print &quot;hello&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t672" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&nbsp; print &quot;bye&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t673" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t674" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;print &quot;hello&quot;\nprint &quot;bye&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t675" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t676" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed1</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t677" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
-<p id="t678" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t679" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;// hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t680" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;// bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t681" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t682" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t678" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t679" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;// hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t680" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;// bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t681" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t682" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t683" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t684" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed2</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t685" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
-<p id="t686" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t687" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t688" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t689" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t690" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t686" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t687" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t688" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t689" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t690" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t691" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t692" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed3</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t693" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
-<p id="t694" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t695" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;print &quot;&quot;&quot;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t696" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t697" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t698" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;print &quot;&quot;&quot;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t694" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t695" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;print &quot;&quot;&quot;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t696" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t697" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// &quot;&quot;&quot;)]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t698" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;print &quot;&quot;&quot;hello\nbye&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t699" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t700" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCompressed4</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t701" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># For a while, I supported compressed code blocks, but no longer.</span><span class="strut">&nbsp;</span></p>
-<p id="t702" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t703" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t704" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&quot;&quot;&quot;)&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t705" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t706" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&quot;&quot;&quot;)&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t702" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// [[[cog: print &quot;&quot;&quot;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t703" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;hello&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t704" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;bye&quot;&quot;&quot;)&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t705" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;// ]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t706" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;hello\nbye&quot;&quot;&quot;)&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t707" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t708" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoCommonPrefixForMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t709" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># It&#39;s important to be able to use #if 0 to hide lines from a</span><span class="strut">&nbsp;</span></p>
<p id="t710" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># C++ compiler.</span><span class="strut">&nbsp;</span></p>
-<p id="t711" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;#if 0 //[[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t712" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;\timport cog, sys&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t713" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t714" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;\tprint sys.argv&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t715" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;#endif //]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t716" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;import cog, sys\n\nprint sys.argv&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t711" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;#if 0 //[[[cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t712" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;\timport cog, sys&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t713" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t714" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">l</span><span class="op">(</span><span class="str">&#39;\tprint sys.argv&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t715" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">m</span><span class="op">(</span><span class="str">&#39;#endif //]]]&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t716" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">gen</span><span class="op">.</span><span class="nam">getCode</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;import cog, sys\n\nprint sys.argv&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t717" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t718" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t719" class="stm run hide_run"><span class="key">class</span> <span class="nam">TestCaseWithTempDir</span><span class="op">(</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -3018,92 +3018,92 @@
<p id="t722" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot; Initialize the cog members for another run.</span><span class="strut">&nbsp;</span></p>
<p id="t723" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t724" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a cog engine, and catch its output.</span><span class="strut">&nbsp;</span></p>
-<p id="t725" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span> <span class="op">=</span> <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t726" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">output</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t727" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stdout</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">,</span> <span class="nam">stderr</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t725" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span> <span class="op">=</span> <span class="nam">Cog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t726" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">output</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t727" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stdout</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">,</span> <span class="nam">stderr</span><span class="op">=</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t728" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t729" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t730" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Create a temporary directory.</span><span class="strut">&nbsp;</span></p>
-<p id="t731" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">tempfile</span><span class="op">.</span><span class="nam">gettempdir</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;testcog_tempdir_&#39;</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">random</span><span class="op">.</span><span class="nam">random</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">[</span><span class="num">2</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t732" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t733" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">olddir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">getcwd</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t734" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t735" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t731" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">tempfile</span><span class="op">.</span><span class="nam">gettempdir</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;testcog_tempdir_&#39;</span> <span class="op">+</span> <span class="nam">str</span><span class="op">(</span><span class="nam">random</span><span class="op">.</span><span class="nam">random</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="op">[</span><span class="num">2</span><span class="op">:</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t732" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">mkdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t733" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">olddir</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">getcwd</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t734" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t735" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t736" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t737" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t738" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">olddir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t738" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chdir</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">olddir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t739" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Get rid of the temporary directory.</span><span class="strut">&nbsp;</span></p>
-<p id="t740" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">shutil</span><span class="op">.</span><span class="nam">rmtree</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t740" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">shutil</span><span class="op">.</span><span class="nam">rmtree</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t741" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t742" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">assertFilesSame</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFName1</span><span class="op">,</span> <span class="nam">sFName2</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t743" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text1</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName1</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t744" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text2</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName2</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t745" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">text1</span><span class="op">,</span> <span class="nam">text2</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t743" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text1</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName1</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t744" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">text2</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName2</span><span class="op">)</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t745" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">text1</span><span class="op">,</span> <span class="nam">text2</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t746" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t747" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">assertFileContent</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">sFName</span><span class="op">,</span> <span class="nam">sContent</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t748" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sAbsName</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t749" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">sAbsName</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t750" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t751" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileContent</span> <span class="op">=</span> <span class="nam">f</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t748" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sAbsName</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="nam">sFName</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t749" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span> <span class="op">=</span> <span class="nam">open</span><span class="op">(</span><span class="nam">sAbsName</span><span class="op">,</span> <span class="str">&#39;rb&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t750" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">try</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t751" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sFileContent</span> <span class="op">=</span> <span class="nam">f</span><span class="op">.</span><span class="nam">read</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t752" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">finally</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t753" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t754" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sFileContent</span><span class="op">,</span> <span class="nam">to_bytes</span><span class="op">(</span><span class="nam">sContent</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t753" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">f</span><span class="op">.</span><span class="nam">close</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t754" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sFileContent</span><span class="op">,</span> <span class="nam">to_bytes</span><span class="op">(</span><span class="nam">sContent</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t755" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t756" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t757" class="stm run hide_run"><span class="key">class</span> <span class="nam">ArgumentHandlingTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t758" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t759" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testArgumentFailure</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t760" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Return value 2 means usage problem.</span><span class="strut">&nbsp;</span></p>
-<p id="t761" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-j&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t762" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t763" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;option -j not recognized&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t764" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t765" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t766" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t767" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-j&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t761" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-j&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t762" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t763" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;option -j not recognized&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t764" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t765" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t766" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t767" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-j&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t768" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t769" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNoDashOAndAtFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t770" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t770" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t771" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfiles.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t772" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
<p id="t773" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t774" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t775" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t776" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t777" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t778" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;foo&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t776" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t777" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t778" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;foo&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t779" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t780" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashV</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t781" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-v&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t782" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t783" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;Cog version %s\n&#39;</span> <span class="op">%</span> <span class="nam">__version__</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t781" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-v&#39;</span><span class="op">]</span><span class="op">)</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t782" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t783" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">&#39;Cog version %s\n&#39;</span> <span class="op">%</span> <span class="nam">__version__</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t784" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t785" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">producesHelp</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">args</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t786" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t787" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">]</span> <span class="op">+</span> <span class="nam">args</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t788" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t789" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">usage</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t786" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t787" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">]</span> <span class="op">+</span> <span class="nam">args</span><span class="op">.</span><span class="nam">split</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t788" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="op">,</span> <span class="num">0</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t789" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">usage</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t790" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t791" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashH</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t792" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># -h or -? anywhere on the command line should just print help.</span><span class="strut">&nbsp;</span></p>
-<p id="t793" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-h&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t794" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-?&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t795" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;fooey.txt -h&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t796" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-o -r @fooey.txt -? @booey.txt&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t793" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-h&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t794" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-?&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t795" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;fooey.txt -h&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t796" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">producesHelp</span><span class="op">(</span><span class="str">&quot;-o -r @fooey.txt -? @booey.txt&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t797" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t798" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashOAndDashR</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t799" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t799" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t800" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cogfile.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t801" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Please run cog</span><span class="strut">&nbsp;</span></p>
<p id="t802" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t803" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t804" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t805" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t806" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t807" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;foo&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cogfile.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t805" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t806" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t807" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;foo&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cogfile.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t808" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t809" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashZ</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t810" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t810" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t811" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t812" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t813" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -3126,30 +3126,30 @@
<p id="t830" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t831" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t832" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t833" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t834" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="str">&quot;test.cog(6): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t835" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t836" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t837" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t838" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t833" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t834" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="nam">re</span><span class="op">.</span><span class="nam">escape</span><span class="op">(</span><span class="str">&quot;test.cog(6): Missing &#39;[[[end]]]&#39; before end of file.&quot;</span><span class="op">)</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t835" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t836" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t837" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t838" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t839" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t840" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBadDashD</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t841" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t842" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey&#39;</span><span class="op">,</span> <span class="str">&#39;cog.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t843" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t844" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;cog.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t841" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t842" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey&#39;</span><span class="op">,</span> <span class="str">&#39;cog.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t843" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t844" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;fooey&#39;</span><span class="op">,</span> <span class="str">&#39;cog.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t845" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t846" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testBadMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t847" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t848" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;--markers=X&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t849" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t850" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;--markers=A B C D&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t847" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t848" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;--markers=X&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t849" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t850" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;--markers=A B C D&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t851" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t852" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t853" class="stm run hide_run"><span class="key">class</span> <span class="nam">TestFileHandling</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t854" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t855" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t856" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t856" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t857" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t858" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t859" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -3174,15 +3174,15 @@
<p id="t878" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t879" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t880" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t881" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t882" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t883" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t884" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t885" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t881" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t882" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t883" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t884" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t885" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t886" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t887" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t888" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># -o sets the output file.</span><span class="strut">&nbsp;</span></p>
-<p id="t889" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t889" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t890" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t891" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t892" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -3207,12 +3207,12 @@
<p id="t911" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t912" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t913" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t914" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t915" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t916" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t914" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t915" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t916" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t917" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t918" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t919" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t919" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t920" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t921" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t922" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -3251,15 +3251,15 @@
<p id="t955" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t956" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t957" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t958" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t959" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t960" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t961" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t962" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t963" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t958" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t959" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t960" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t961" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t962" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t963" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t964" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t965" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNestedAtFile</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t966" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t966" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t967" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t968" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t969" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -3302,15 +3302,15 @@
<p id="t1006" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1007" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1008" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1009" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1010" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1011" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1012" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1013" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1014" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1009" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1010" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1011" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1012" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1013" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1014" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1015" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1016" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFileWithArgs</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1017" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1017" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1018" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;both.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1019" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1020" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
@@ -3346,13 +3346,13 @@
<p id="t1050" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t1051" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1052" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1053" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1054" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1055" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;both.one&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1056" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;both.two&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1053" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1054" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1055" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;both.one&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1056" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;both.two&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1057" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1058" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFileWithBadArgCombo</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1059" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1059" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1060" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;both.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1061" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1062" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;one: %s&quot; % (&#39;one&#39; in globals()))</span><span class="strut">&nbsp;</span></p>
@@ -3368,18 +3368,18 @@
<p id="t1072" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t1073" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1074" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1075" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1076" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1077" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1075" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1076" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1077" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1078" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1079" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testAtFileWithTrickyFilenames</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1080" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">def</span> <span class="nam">fix_backslashes</span><span class="op">(</span><span class="nam">files_txt</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1080" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">def</span> <span class="nam">fix_backslashes</span><span class="op">(</span><span class="nam">files_txt</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1081" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&quot;&quot;&quot;Make the contents of a files.txt sensitive to the platform.&quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t1082" class="stm par run hide_run"><span class="annotate" title="Line 1082 was executed, but never jumped to line 1084">1082&#x202F;&#x219B;&#x202F;1084 [?]</span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">platform</span> <span class="op">!=</span> <span class="str">&quot;win32&quot;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1083" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">files_txt</span> <span class="op">=</span> <span class="nam">files_txt</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&quot;\\&quot;</span><span class="op">,</span> <span class="str">&quot;/&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1084" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">files_txt</span><span class="strut">&nbsp;</span></p>
+<p id="t1082" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">platform</span> <span class="op">!=</span> <span class="str">&quot;win32&quot;</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1083" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">files_txt</span> <span class="op">=</span> <span class="nam">files_txt</span><span class="op">.</span><span class="nam">replace</span><span class="op">(</span><span class="str">&quot;\\&quot;</span><span class="op">,</span> <span class="str">&quot;/&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1084" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">files_txt</span><span class="strut">&nbsp;</span></p>
<p id="t1085" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1086" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1086" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1087" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one 1.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1088" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.outl(&quot;hello world&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1089" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
@@ -3417,14 +3417,14 @@
<p id="t1121" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1122" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1123" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1124" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1125" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1126" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one 1.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1127" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;subdir/subback.cog&#39;</span><span class="op">,</span> <span class="str">&#39;subback.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1128" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;subdir/subfwd.cog&#39;</span><span class="op">,</span> <span class="str">&#39;subfwd.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1124" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1125" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1126" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one 1.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1127" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;subdir/subback.cog&#39;</span><span class="op">,</span> <span class="str">&#39;subback.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1128" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;subdir/subfwd.cog&#39;</span><span class="op">,</span> <span class="str">&#39;subfwd.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1129" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1130" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">run_with_verbosity</span><span class="op">(</span><span class="nam">self</span><span class="op">,</span> <span class="nam">verbosity</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1131" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1131" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1132" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;unchanged.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1133" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1134" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -3446,22 +3446,22 @@
<p id="t1150" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t1151" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1152" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1153" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1154" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;--verbosity=&#39;</span><span class="op">+</span><span class="nam">verbosity</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1155" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1156" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">output</span><span class="strut">&nbsp;</span></p>
+<p id="t1153" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1154" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;--verbosity=&#39;</span><span class="op">+</span><span class="nam">verbosity</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1155" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1156" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">return</span> <span class="nam">output</span><span class="strut">&nbsp;</span></p>
<p id="t1157" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1158" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test_verbosity0</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1159" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;0&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1160" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1159" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;0&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1160" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1161" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1162" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test_verbosity1</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1163" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;1&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1164" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging changed.cog&nbsp; (changed)\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1163" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;1&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1164" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging changed.cog&nbsp; (changed)\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1165" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1166" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">test_verbosity2</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1167" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;2&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1168" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging unchanged.cog\nCogging changed.cog&nbsp; (changed)\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1167" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">run_with_verbosity</span><span class="op">(</span><span class="str">&quot;2&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1168" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging unchanged.cog\nCogging changed.cog&nbsp; (changed)\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1169" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1170" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1171" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestLineEndings</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -3486,30 +3486,30 @@
<p id="t1190" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <span class="str">&#39;&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
<p id="t1191" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1192" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputNativeEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1193" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;infile&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1194" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;infile&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1195" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">linesep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1193" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;infile&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1194" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;infile&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1195" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">linesep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1196" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1197" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputLfEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1198" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;infile&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1199" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-U&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;infile&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1200" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1198" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;infile&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1199" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-U&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;infile&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1200" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;outfile&#39;</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1201" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1202" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReplaceNativeEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1203" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1204" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1205" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">linesep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1203" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1204" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1205" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">linesep</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1206" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1207" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReplaceLfEol</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1208" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1209" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-U&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1210" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1208" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="op">{</span><span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_in</span><span class="op">)</span><span class="op">}</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1209" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-U&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1210" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFileContent</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;\n&#39;</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">lines_out</span><span class="op">)</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1211" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1212" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1213" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestCharacterEncoding</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1214" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1215" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSimple</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1216" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1216" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1217" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="nam">b</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1218" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t1219" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -3528,14 +3528,14 @@
<p id="t1232" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1233" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1234" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1235" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1236" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1237" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1238" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1239" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1235" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1236" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1237" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1238" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1239" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1240" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1241" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testFileEncodingOption</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1242" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1242" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1243" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="nam">b</span><span class="op">(</span><span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1244" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // \xca\xee\xe4\xe8\xf0\xe2\xea\xe0 Windows</span><span class="strut">&nbsp;</span></p>
<p id="t1245" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -3554,11 +3554,11 @@
<p id="t1258" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">)</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1259" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1260" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1261" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1262" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-n&#39;</span><span class="op">,</span> <span class="str">&#39;cp1251&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1263" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1264" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1265" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1261" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1262" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-n&#39;</span><span class="op">,</span> <span class="str">&#39;cp1251&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1263" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1264" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1265" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1266" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1267" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1268" class="stm run hide_run"><span class="key">class</span> <span class="nam">TestCaseWithImports</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -3568,18 +3568,18 @@
<p id="t1272" class="pln"><span class="str">&nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t1273" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1274" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1275" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1276" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sysmodulekeys</span> <span class="op">=</span> <span class="nam">list</span><span class="op">(</span><span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1275" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1276" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">sysmodulekeys</span> <span class="op">=</span> <span class="nam">list</span><span class="op">(</span><span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1277" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1278" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1279" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">modstoscrub</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t1279" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">modstoscrub</span> <span class="op">=</span> <span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t1280" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">modname</span><span class="strut">&nbsp;</span></p>
<p id="t1281" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">modname</span> <span class="key">in</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="strut">&nbsp;</span></p>
<p id="t1282" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">if</span> <span class="nam">modname</span> <span class="key">not</span> <span class="key">in</span> <span class="nam">self</span><span class="op">.</span><span class="nam">sysmodulekeys</span><span class="strut">&nbsp;</span></p>
<p id="t1283" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t1284" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">modname</span> <span class="key">in</span> <span class="nam">modstoscrub</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1285" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">del</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">[</span><span class="nam">modname</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t1286" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1284" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">for</span> <span class="nam">modname</span> <span class="key">in</span> <span class="nam">modstoscrub</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1285" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="key">del</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">modules</span><span class="op">[</span><span class="nam">modname</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1286" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1287" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1288" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1289" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogIncludeTests</span><span class="op">(</span><span class="nam">TestCaseWithImports</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -3631,36 +3631,36 @@
<p id="t1335" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1336" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testNeedIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1337" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Try it without the -I, to see that an ImportError happens.</span><span class="strut">&nbsp;</span></p>
-<p id="t1338" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1339" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">ImportError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1340" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1338" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1339" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">ImportError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1340" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1341" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1342" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1343" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that -I adds include directories properly.</span><span class="strut">&nbsp;</span></p>
-<p id="t1344" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1345" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1346" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1344" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1345" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1346" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1347" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1348" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoIncludePaths</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1349" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that two -I&#39;s add include directories properly.</span><span class="strut">&nbsp;</span></p>
-<p id="t1350" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1351" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc2&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1352" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1350" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1351" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc2&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1352" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1353" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1354" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTwoIncludePaths2</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1355" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that two -I&#39;s add include directories properly.</span><span class="strut">&nbsp;</span></p>
-<p id="t1356" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1357" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc2&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1358" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test2.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1356" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1357" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc2&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1358" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test2.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1359" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1360" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testUselessIncludePath</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1361" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that the search will continue past the first directory.</span><span class="strut">&nbsp;</span></p>
-<p id="t1362" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1363" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc3&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1364" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1362" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">dincludes</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1363" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;inc3&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;include&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1364" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1365" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1366" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSysPathIsUnchanged</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1367" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1367" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1368" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;bad.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1369" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog cog.error(&quot;Oh no!&quot;) ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1370" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
@@ -3671,43 +3671,43 @@
<p id="t1375" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1376" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1377" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1378" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1378" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1379" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged just by creating a cog engine?</span><span class="strut">&nbsp;</span></p>
-<p id="t1380" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">oldsyspath</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t1381" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1382" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1380" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">oldsyspath</span> <span class="op">=</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t1381" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1382" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1383" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a successful run?</span><span class="strut">&nbsp;</span></p>
-<p id="t1384" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1385" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1386" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1384" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1385" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1386" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1387" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a successful run with includes?</span><span class="strut">&nbsp;</span></p>
-<p id="t1388" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1389" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1390" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1388" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1389" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1390" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1391" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a successful run with two includes?</span><span class="strut">&nbsp;</span></p>
-<p id="t1392" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1393" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;quux&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1394" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1392" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1393" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;quux&#39;</span><span class="op">,</span> <span class="str">&#39;good.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1394" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1395" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a failed run?</span><span class="strut">&nbsp;</span></p>
-<p id="t1396" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1397" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1398" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1399" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1396" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1397" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1398" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1399" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1400" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a failed run with includes?</span><span class="strut">&nbsp;</span></p>
-<p id="t1401" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1402" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1403" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1404" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1401" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1402" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1403" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1404" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1405" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Is it unchanged for a failed run with two includes?</span><span class="strut">&nbsp;</span></p>
-<p id="t1406" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1407" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1408" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;quux&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1409" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1406" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1407" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1408" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;xyzzy&#39;</span><span class="op">,</span> <span class="str">&#39;-I&#39;</span><span class="op">,</span> <span class="str">&#39;quux&#39;</span><span class="op">,</span> <span class="str">&#39;bad.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1409" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">oldsyspath</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">path</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1410" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1411" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSubDirectories</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1412" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that relative paths on the command line work, with includes.</span><span class="strut">&nbsp;</span></p>
<p id="t1413" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1414" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1414" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1415" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;code&#39;</span><span class="op">:</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1416" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1417" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -3731,18 +3731,18 @@
<p id="t1435" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1436" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1437" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1438" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1438" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1439" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># We should be able to invoke cog without the -I switch, and it will</span><span class="strut">&nbsp;</span></p>
<p id="t1440" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># auto-include the current directory</span><span class="strut">&nbsp;</span></p>
-<p id="t1441" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;code/test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1442" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;code/test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;code/test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1441" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;code/test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1442" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;code/test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;code/test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1443" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1444" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1445" class="stm run hide_run"><span class="key">class</span> <span class="nam">CogTestsInFiles</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1446" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1447" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testWarnIfNoCogCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1448" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that the -e switch warns if there is no Cog code.</span><span class="strut">&nbsp;</span></p>
-<p id="t1449" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1449" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1450" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;with.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1451" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1452" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;hello world&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -3757,21 +3757,21 @@
<p id="t1461" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1462" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1463" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1464" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1465" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;with.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1466" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1467" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotIn</span><span class="op">(</span><span class="str">&quot;Warning&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1468" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1469" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;without.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1470" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1471" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;Warning: no cog code found in without.cog&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1472" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1473" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;without.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1474" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1475" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotIn</span><span class="op">(</span><span class="str">&quot;Warning&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1464" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1465" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;with.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1466" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1467" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotIn</span><span class="op">(</span><span class="str">&quot;Warning&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1468" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1469" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-e&#39;</span><span class="op">,</span> <span class="str">&#39;without.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1470" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1471" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;Warning: no cog code found in without.cog&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1472" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1473" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;without.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1474" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1475" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertNotIn</span><span class="op">(</span><span class="str">&quot;Warning&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1476" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1477" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testFileNameProps</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1478" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1478" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1479" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1480" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1481" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This is %s in, %s out&quot; % (cog.inFile, cog.outFile))</span><span class="strut">&nbsp;</span></p>
@@ -3797,16 +3797,16 @@
<p id="t1501" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1502" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1503" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1504" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1505" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1506" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1507" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1508" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;cog1out.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1509" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1out.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1out.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1504" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1505" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1506" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1507" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1508" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;cog1out.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1509" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1out.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1out.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1510" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1511" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testGlobalsDontCrossFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1512" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make sure that global values don&#39;t get shared between files.</span><span class="strut">&nbsp;</span></p>
-<p id="t1513" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1513" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1514" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;one.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1515" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog s = &quot;This was set in one.cog&quot; ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1516" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[end]]]</span><span class="strut">&nbsp;</span></p>
@@ -3851,15 +3851,15 @@
<p id="t1555" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t1556" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1557" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1558" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1559" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1560" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1561" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1562" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1563" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1558" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1559" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;@cogfiles.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1560" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;one.cog&#39;</span><span class="op">,</span> <span class="str">&#39;one.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1561" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;two.cog&#39;</span><span class="op">,</span> <span class="str">&#39;two.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1562" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1563" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;(changed)&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1564" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1565" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRemoveGeneratedOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1566" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1566" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1567" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1568" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1569" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -3887,35 +3887,35 @@
<p id="t1591" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1592" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1593" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1594" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1594" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1595" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Remove generated output.</span><span class="strut">&nbsp;</span></p>
-<p id="t1596" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-x&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1597" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1598" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1596" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-x&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1597" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1598" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1599" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Regenerate the generated output.</span><span class="strut">&nbsp;</span></p>
-<p id="t1600" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1601" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out2&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1602" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1600" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1601" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out2&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1602" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">newCog</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1603" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Remove the generated output again.</span><span class="strut">&nbsp;</span></p>
-<p id="t1604" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-x&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1605" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1604" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-x&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1605" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1606" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1607" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testMsgCall</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1608" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
+<p id="t1608" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1609" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1610" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.msg(&quot;Hello there!&quot;)</span><span class="strut">&nbsp;</span></p>
<p id="t1611" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1612" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1613" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
-<p id="t1614" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1615" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1616" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1617" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Message: Hello there!\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1614" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">infile</span> <span class="op">=</span> <span class="nam">reindentBlock</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1615" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">processString</span><span class="op">(</span><span class="nam">infile</span><span class="op">)</span><span class="op">,</span> <span class="nam">infile</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1616" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1617" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Message: Hello there!\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1618" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1619" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorMessageHasNoTraceback</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1620" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that a Cog error is printed to stderr with no traceback.</span><span class="strut">&nbsp;</span></p>
<p id="t1621" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1622" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1622" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1623" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1624" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1625" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -3929,15 +3929,15 @@
<p id="t1633" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1634" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1635" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1636" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1637" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1638" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1639" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&quot;cog1.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1640" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;Cogging cog1.txt\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1641" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;cog1.txt(9): Output has been edited! Delete old checksum to unprotect.\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1636" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1637" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1638" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1639" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&quot;cog1.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1640" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;Cogging cog1.txt\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1641" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="op">,</span> <span class="str">&quot;cog1.txt(9): Output has been edited! Delete old checksum to unprotect.\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1642" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1643" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDashD</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1644" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1644" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1645" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1646" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&quot;Defined fooey as &quot; + fooey) ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1647" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
@@ -3956,60 +3956,60 @@
<p id="t1660" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1661" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1662" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1663" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1664" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;fooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1665" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1666" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1667" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1668" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1669" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1670" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=e=mc2&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1671" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.einstein&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1672" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1673" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dbar=quux&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1674" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1675" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1676" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;-Dbar=quux&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1677" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1678" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1679" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=gooey&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1680" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1663" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1664" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-D&#39;</span><span class="op">,</span> <span class="str">&#39;fooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1665" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1666" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1667" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1668" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1669" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1670" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=e=mc2&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1671" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.einstein&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1672" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1673" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dbar=quux&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1674" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1675" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1676" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;-Dbar=quux&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1677" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1678" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1679" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=gooey&#39;</span><span class="op">,</span> <span class="str">&#39;-Dfooey=kablooey&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1680" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.kablooey&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1681" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1682" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testOutputToStdout</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1683" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1683" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1684" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1685" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[cog cog.outl(&#39;Hey there!&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1686" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --[[[end]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1687" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t1688" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1689" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1690" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1691" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1692" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1693" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1694" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1695" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outerr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1696" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;--[[[cog cog.outl(&#39;Hey there!&#39;) ]]]\nHey there!\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1697" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">outerr</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1690" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1691" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1692" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1693" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1694" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1695" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outerr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1696" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;--[[[cog cog.outl(&#39;Hey there!&#39;) ]]]\nHey there!\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1697" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">outerr</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1698" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1699" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadFromStdin</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1700" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stdin</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="str">&quot;--[[[cog cog.outl(&#39;Wow&#39;) ]]]\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1701" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">def</span> <span class="nam">restore_stdin</span><span class="op">(</span><span class="nam">old_stdin</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1702" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span> <span class="op">=</span> <span class="nam">old_stdin</span><span class="strut">&nbsp;</span></p>
-<p id="t1703" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addCleanup</span><span class="op">(</span><span class="nam">restore_stdin</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1704" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span> <span class="op">=</span> <span class="nam">stdin</span><span class="strut">&nbsp;</span></p>
+<p id="t1700" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stdin</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="str">&quot;--[[[cog cog.outl(&#39;Wow&#39;) ]]]\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1701" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">def</span> <span class="nam">restore_stdin</span><span class="op">(</span><span class="nam">old_stdin</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1702" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span> <span class="op">=</span> <span class="nam">old_stdin</span><span class="strut">&nbsp;</span></p>
+<p id="t1703" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">addCleanup</span><span class="op">(</span><span class="nam">restore_stdin</span><span class="op">,</span> <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1704" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">sys</span><span class="op">.</span><span class="nam">stdin</span> <span class="op">=</span> <span class="nam">stdin</span><span class="strut">&nbsp;</span></p>
<p id="t1705" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1706" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1707" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1708" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1709" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1710" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outerr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1711" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;--[[[cog cog.outl(&#39;Wow&#39;) ]]]\nWow\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1712" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">outerr</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1706" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">stderr</span> <span class="op">=</span> <span class="nam">StringIO</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1707" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">setOutput</span><span class="op">(</span><span class="nam">stderr</span><span class="op">=</span><span class="nam">stderr</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1708" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1709" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1710" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">outerr</span> <span class="op">=</span> <span class="nam">stderr</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1711" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;--[[[cog cog.outl(&#39;Wow&#39;) ]]]\nWow\n--[[[end]]]\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1712" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">outerr</span><span class="op">,</span> <span class="str">&quot;&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1713" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1714" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1715" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSuffixOutputLines</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1716" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1716" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1717" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1718" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Hey there.</span><span class="strut">&nbsp;</span></p>
<p id="t1719" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\n&nbsp;&nbsp; \\nc&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
@@ -4031,12 +4031,12 @@
<p id="t1735" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1736" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1737" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1738" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1739" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; (foo)&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1740" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1738" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1739" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39; (foo)&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1740" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1741" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1742" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testEmptySuffix</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1743" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1743" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1744" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1745" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\nb\\nc&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1746" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[end]]]</span><span class="strut">&nbsp;</span></p>
@@ -4051,12 +4051,12 @@
<p id="t1755" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1756" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1757" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1758" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1759" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1760" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1758" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1759" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">&#39;&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1760" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1761" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1762" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testHellishSuffix</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1763" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1763" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1764" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1765" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;[[[cog cog.outl(&#39;a\\n\\nb&#39;) ]]]</span><span class="strut">&nbsp;</span></p>
<p id="t1766" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
@@ -4069,9 +4069,9 @@
<p id="t1773" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1774" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1775" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1776" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1777" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">r&#39; /\n*+([)]&gt;&lt;&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1778" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1776" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1777" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-z&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-s&#39;</span><span class="op">,</span> <span class="str">r&#39; /\n*+([)]&gt;&lt;&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1778" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1779" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1780" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1781" class="stm run hide_run"><span class="key">class</span> <span class="nam">WritabilityTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -4107,41 +4107,41 @@
<p id="t1811" class="exc">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">cmd_w_asterisk</span> <span class="op">=</span> <span class="str">&#39;chmod +w *&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t1812" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1813" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1814" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1815" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1816" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1817" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chmod</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">stat</span><span class="op">.</span><span class="nam">S_IREAD</span><span class="op">)</span>&nbsp;&nbsp; <span class="com"># Make the file readonly.</span><span class="strut">&nbsp;</span></p>
-<p id="t1818" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1814" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">setUp</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1815" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1816" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span> <span class="op">=</span> <span class="nam">os</span><span class="op">.</span><span class="nam">path</span><span class="op">.</span><span class="nam">join</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">tempdir</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1817" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chmod</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">stat</span><span class="op">.</span><span class="nam">S_IREAD</span><span class="op">)</span>&nbsp;&nbsp; <span class="com"># Make the file readonly.</span><span class="strut">&nbsp;</span></p>
+<p id="t1818" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1819" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1820" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1821" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chmod</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">stat</span><span class="op">.</span><span class="nam">S_IWRITE</span><span class="op">)</span>&nbsp;&nbsp; <span class="com"># Make the file writable again.</span><span class="strut">&nbsp;</span></p>
-<p id="t1822" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1821" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">os</span><span class="op">.</span><span class="nam">chmod</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">stat</span><span class="op">.</span><span class="nam">S_IWRITE</span><span class="op">)</span>&nbsp;&nbsp; <span class="com"># Make the file writable again.</span><span class="strut">&nbsp;</span></p>
+<p id="t1822" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">TestCaseWithTempDir</span><span class="op">.</span><span class="nam">tearDown</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1823" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1824" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyNoCommand</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1825" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">&quot;Can&#39;t overwrite test.cog&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1826" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1827" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1825" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">&quot;Can&#39;t overwrite test.cog&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1826" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1827" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1828" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1829" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyWithCommand</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1830" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cmd_w_args</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1831" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1832" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1830" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cmd_w_args</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1831" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1832" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1833" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1834" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyWithCommandWithNoSlot</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1835" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cmd_w_asterisk</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1836" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1837" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1835" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="nam">self</span><span class="op">.</span><span class="nam">cmd_w_asterisk</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1836" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1837" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1838" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1839" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testReadonlyWithIneffectualCommand</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1840" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">&quot;Couldn&#39;t make test.cog writable&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1841" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="str">&#39;echo %s&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1842" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1840" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span> <span class="str">&quot;Couldn&#39;t make test.cog writable&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t1841" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-w&#39;</span><span class="op">,</span> <span class="str">&#39;echo %s&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1842" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">assert</span> <span class="key">not</span> <span class="nam">os</span><span class="op">.</span><span class="nam">access</span><span class="op">(</span><span class="nam">self</span><span class="op">.</span><span class="nam">testcog</span><span class="op">,</span> <span class="nam">os</span><span class="op">.</span><span class="nam">W_OK</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1843" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1844" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1845" class="stm run hide_run"><span class="key">class</span> <span class="nam">ChecksumTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t1846" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1847" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCreateChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1848" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1848" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1849" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1850" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1851" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was generated.&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4161,12 +4161,12 @@
<p id="t1865" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1866" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1867" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1868" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1869" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1870" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1868" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1869" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1870" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1871" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1872" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCheckChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1873" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1873" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1874" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1875" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1876" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4190,12 +4190,12 @@
<p id="t1894" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1895" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1896" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1897" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1898" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1899" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1897" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1898" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1899" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1900" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1901" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRemoveChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1902" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1902" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1903" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1904" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1905" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4219,12 +4219,12 @@
<p id="t1923" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t1924" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t1925" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t1926" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1927" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t1928" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1926" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1927" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.txt&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t1928" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;cog1.txt&#39;</span><span class="op">,</span> <span class="str">&#39;cog1.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t1929" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t1930" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTamperedChecksumOutput</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t1931" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t1931" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t1932" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;cog1.txt&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t1933" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t1934" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;This line was newly&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4297,37 +4297,37 @@
<p id="t2001" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2002" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2003" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2004" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2005" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2004" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2005" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2006" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog1.txt\(9\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2007" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog1.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2008" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2007" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog1.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2008" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2009" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog2.txt\(9\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2010" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog2.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2011" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2010" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog2.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2011" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2012" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog3.txt\(10\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2013" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog3.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2014" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2013" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog3.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2014" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2015" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog4.txt\(9\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2016" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog4.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2017" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2016" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog4.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2017" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2018" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog5.txt\(10\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2019" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog5.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2020" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
+<p id="t2019" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog5.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2020" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaisesRegexp</span><span class="op">(</span><span class="nam">CogError</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2021" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">r&quot;cog6.txt\(6\): Output has been edited! Delete old checksum to unprotect.&quot;</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2022" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog6.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2022" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-c&#39;</span><span class="op">,</span> <span class="str">&quot;cog6.txt&quot;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2023" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2024" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testArgvIsntModified</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2025" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-v&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t2026" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">orig_argv</span> <span class="op">=</span> <span class="nam">argv</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t2027" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2028" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">argv</span><span class="op">,</span> <span class="nam">orig_argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2025" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">argv</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-v&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t2026" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">orig_argv</span> <span class="op">=</span> <span class="nam">argv</span><span class="op">[</span><span class="op">:</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t2027" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="nam">argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2028" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">argv</span><span class="op">,</span> <span class="nam">orig_argv</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2029" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2030" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2031" class="stm run hide_run"><span class="key">class</span> <span class="nam">CustomMarkerTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2032" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2033" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testCustomerMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2034" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2034" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2035" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2036" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //{{</span><span class="strut">&nbsp;</span></p>
<p id="t2037" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4344,17 +4344,17 @@
<p id="t2048" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2049" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2050" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2051" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2052" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t2051" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2052" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t2053" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2054" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers={{ }} {{end}}&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2055" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t2056" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2057" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2057" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2058" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2059" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testTrulyWackyMarkers</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2060" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Make sure the markers are properly re-escaped.</span><span class="strut">&nbsp;</span></p>
-<p id="t2061" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2061" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2062" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2063" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(</span><span class="strut">&nbsp;</span></p>
<p id="t2064" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4371,16 +4371,16 @@
<p id="t2075" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2076" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2077" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2078" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2079" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t2078" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2079" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t2080" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2081" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers=**( **) **(end)**&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2082" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t2083" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2084" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2084" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2085" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2086" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testChangeJustOneMarker</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2087" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2087" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2088" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2089" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //**(</span><span class="strut">&nbsp;</span></p>
<p id="t2090" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.outl(&quot;void %s();&quot; % &quot;MyFunction&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4397,13 +4397,13 @@
<p id="t2101" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2102" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2103" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2104" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2105" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
+<p id="t2104" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2105" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="strut">&nbsp;</span></p>
<p id="t2106" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2107" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;--markers=**( ]]] [[[end]]]&#39;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2108" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="strut">&nbsp;</span></p>
<p id="t2109" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2110" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2110" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2111" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2112" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2113" class="stm run hide_run"><span class="key">class</span> <span class="nam">BlakeTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
@@ -4411,7 +4411,7 @@
<p id="t2115" class="pln">&nbsp; &nbsp; <span class="com"># Blake Winton&#39;s contributions.</span><span class="strut">&nbsp;</span></p>
<p id="t2116" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDeleteCode</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2117" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># -o sets the output file.</span><span class="strut">&nbsp;</span></p>
-<p id="t2118" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2118" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2119" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2120" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t2121" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -4433,25 +4433,25 @@
<p id="t2137" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2138" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2139" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2140" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2141" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-d&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2142" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2140" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2141" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-d&#39;</span><span class="op">,</span> <span class="str">&#39;-o&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2142" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2143" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2144" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testDeleteCodeWithDashRFails</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2145" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2145" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2146" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2147" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t2148" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="strut">&nbsp;</span></p>
<p id="t2149" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2150" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2151" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2152" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
-<p id="t2153" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-d&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2151" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2152" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="key">with</span> <span class="nam">self</span><span class="op">.</span><span class="nam">assertRaises</span><span class="op">(</span><span class="nam">CogUsageError</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
+<p id="t2153" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">callableMain</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;-d&#39;</span><span class="op">,</span> <span class="str">&#39;test.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2154" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2155" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testSettingGlobals</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2156" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Blake Winton contributed a way to set the globals that will be used in</span><span class="strut">&nbsp;</span></p>
<p id="t2157" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># processFile().</span><span class="strut">&nbsp;</span></p>
-<p id="t2158" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2158" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2159" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;test.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2160" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // This is my C++ file.</span><span class="strut">&nbsp;</span></p>
<p id="t2161" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
@@ -4469,19 +4469,19 @@
<p id="t2173" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2174" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2175" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2176" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2177" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
-<p id="t2178" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span><span class="op">[</span><span class="str">&#39;fnames&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;DoBlake&#39;</span><span class="op">,</span> <span class="str">&#39;DoWinton&#39;</span><span class="op">,</span> <span class="str">&#39;DoContribution&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
-<p id="t2179" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
-<p id="t2180" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">globals</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2181" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2176" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2177" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span> <span class="op">=</span> <span class="op">{</span><span class="op">}</span><span class="strut">&nbsp;</span></p>
+<p id="t2178" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">globals</span><span class="op">[</span><span class="str">&#39;fnames&#39;</span><span class="op">]</span> <span class="op">=</span> <span class="op">[</span><span class="str">&#39;DoBlake&#39;</span><span class="op">,</span> <span class="str">&#39;DoWinton&#39;</span><span class="op">,</span> <span class="str">&#39;DoContribution&#39;</span><span class="op">]</span><span class="strut">&nbsp;</span></p>
+<p id="t2179" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">options</span><span class="op">.</span><span class="nam">bDeleteCode</span> <span class="op">=</span> <span class="nam">True</span><span class="strut">&nbsp;</span></p>
+<p id="t2180" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">processFile</span><span class="op">(</span><span class="str">&#39;test.cog&#39;</span><span class="op">,</span> <span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="nam">globals</span><span class="op">=</span><span class="nam">globals</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2181" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertFilesSame</span><span class="op">(</span><span class="str">&#39;test.cogged&#39;</span><span class="op">,</span> <span class="str">&#39;test.out&#39;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2182" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2183" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2184" class="stm run hide_run"><span class="key">class</span> <span class="nam">ErrorCallTests</span><span class="op">(</span><span class="nam">TestCaseWithTempDir</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2185" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2186" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testErrorCallHasNoTraceback</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2187" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that cog.error() doesn&#39;t show a traceback.</span><span class="strut">&nbsp;</span></p>
-<p id="t2188" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2188" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2189" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;error.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2190" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t2191" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cog.error(&quot;Something Bad!&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4490,14 +4490,14 @@
<p id="t2194" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2195" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2196" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2197" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2198" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;error.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2199" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2200" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging error.cog\nError: Something Bad!\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2197" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2198" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;error.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2199" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2200" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">output</span><span class="op">,</span> <span class="str">&quot;Cogging error.cog\nError: Something Bad!\n&quot;</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2201" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2202" class="stm run hide_run">&nbsp; &nbsp; <span class="key">def</span> <span class="nam">testRealErrorHasTraceback</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span><span class="strut">&nbsp;</span></p>
<p id="t2203" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; <span class="com"># Test that a genuine error does show a traceback.</span><span class="strut">&nbsp;</span></p>
-<p id="t2204" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
+<p id="t2204" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">d</span> <span class="op">=</span> <span class="op">{</span><span class="strut">&nbsp;</span></p>
<p id="t2205" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="str">&#39;error.cog&#39;</span><span class="op">:</span> <span class="str">&quot;&quot;&quot;\</span><span class="strut">&nbsp;</span></p>
<p id="t2206" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //[[[cog</span><span class="strut">&nbsp;</span></p>
<p id="t2207" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise RuntimeError(&quot;Hey!&quot;)</span><span class="strut">&nbsp;</span></p>
@@ -4506,12 +4506,12 @@
<p id="t2210" class="pln"><span class="str">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;&quot;&quot;</span><span class="op">,</span><span class="strut">&nbsp;</span></p>
<p id="t2211" class="pln">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="op">}</span><span class="strut">&nbsp;</span></p>
<p id="t2212" class="pln"><span class="strut">&nbsp;</span></p>
-<p id="t2213" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2214" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;error.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2215" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2216" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">msg</span> <span class="op">=</span> <span class="str">&#39;Actual output:\n&#39;</span> <span class="op">+</span> <span class="nam">output</span><span class="strut">&nbsp;</span></p>
-<p id="t2217" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assert_</span><span class="op">(</span><span class="nam">output</span><span class="op">.</span><span class="nam">startswith</span><span class="op">(</span><span class="str">&quot;Cogging error.cog\nTraceback (most recent&quot;</span><span class="op">)</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
-<p id="t2218" class="stm run hide_run">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;RuntimeError: Hey!&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2213" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">makeFiles</span><span class="op">(</span><span class="nam">d</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2214" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">cog</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">[</span><span class="str">&#39;argv0&#39;</span><span class="op">,</span> <span class="str">&#39;-r&#39;</span><span class="op">,</span> <span class="str">&#39;error.cog&#39;</span><span class="op">]</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2215" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">output</span> <span class="op">=</span> <span class="nam">self</span><span class="op">.</span><span class="nam">output</span><span class="op">.</span><span class="nam">getvalue</span><span class="op">(</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2216" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">msg</span> <span class="op">=</span> <span class="str">&#39;Actual output:\n&#39;</span> <span class="op">+</span> <span class="nam">output</span><span class="strut">&nbsp;</span></p>
+<p id="t2217" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assert_</span><span class="op">(</span><span class="nam">output</span><span class="op">.</span><span class="nam">startswith</span><span class="op">(</span><span class="str">&quot;Cogging error.cog\nTraceback (most recent&quot;</span><span class="op">)</span><span class="op">,</span> <span class="nam">msg</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
+<p id="t2218" class="stm mis">&nbsp; &nbsp; &nbsp; &nbsp; <span class="nam">self</span><span class="op">.</span><span class="nam">assertIn</span><span class="op">(</span><span class="str">&quot;RuntimeError: Hey!&quot;</span><span class="op">,</span> <span class="nam">output</span><span class="op">)</span><span class="strut">&nbsp;</span></p>
<p id="t2219" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2220" class="pln"><span class="strut">&nbsp;</span></p>
<p id="t2221" class="pln"><span class="com"># Things not yet tested:</span><span class="strut">&nbsp;</span></p>
@@ -4525,8 +4525,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_test_makefiles_py.html b/doc/sample_html/cogapp_test_makefiles_py.html
index cb7c7c40..1fba8b01 100644
--- a/doc/sample_html/cogapp_test_makefiles_py.html
+++ b/doc/sample_html/cogapp_test_makefiles_py.html
@@ -265,8 +265,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_test_whiteutils_py.html b/doc/sample_html/cogapp_test_whiteutils_py.html
index bf75896a..0a0eb777 100644
--- a/doc/sample_html/cogapp_test_whiteutils_py.html
+++ b/doc/sample_html/cogapp_test_whiteutils_py.html
@@ -285,8 +285,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/cogapp_whiteutils_py.html b/doc/sample_html/cogapp_whiteutils_py.html
index a939299d..eee9d628 100644
--- a/doc/sample_html/cogapp_whiteutils_py.html
+++ b/doc/sample_html/cogapp_whiteutils_py.html
@@ -223,8 +223,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="index.html">&#xab; index</a> &nbsp; &nbsp; <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/index.html b/doc/sample_html/index.html
index 4f920b93..f2dd3a55 100644
--- a/doc/sample_html/index.html
+++ b/doc/sample_html/index.html
@@ -22,7 +22,7 @@
<div id="header">
<div class="content">
<h1>Coverage report:
- <span class="pc_cov">89.15%</span>
+ <span class="pc_cov">37.82%</span>
</h1>
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
@@ -72,13 +72,13 @@
<tr class="total">
<td class="name left">Total</td>
<td>1348</td>
- <td>148</td>
+ <td>838</td>
<td>13</td>
<td>228</td>
- <td>11</td>
+ <td>30</td>
- <td class="right" data-ratio="1405 1576">89.15%</td>
+ <td class="right" data-ratio="596 1576">37.82%</td>
</tr>
</tfoot>
<tbody>
@@ -122,37 +122,37 @@
<tr class="file">
<td class="name left"><a href="cogapp_cogapp_py.html">cogapp/cogapp.py</a></td>
<td>423</td>
- <td>3</td>
+ <td>194</td>
<td>4</td>
<td>168</td>
- <td>4</td>
+ <td>26</td>
- <td class="right" data-ratio="584 591">98.82%</td>
+ <td class="right" data-ratio="283 591">47.88%</td>
</tr>
<tr class="file">
<td class="name left"><a href="cogapp_makefiles_py.html">cogapp/makefiles.py</a></td>
<td>28</td>
- <td>7</td>
+ <td>20</td>
<td>3</td>
<td>14</td>
- <td>2</td>
+ <td>0</td>
- <td class="right" data-ratio="27 42">64.29%</td>
+ <td class="right" data-ratio="8 42">19.05%</td>
</tr>
<tr class="file">
<td class="name left"><a href="cogapp_test_cogapp_py.html">cogapp/test_cogapp.py</a></td>
<td>704</td>
- <td>0</td>
+ <td>486</td>
<td>6</td>
<td>6</td>
- <td>1</td>
+ <td>0</td>
- <td class="right" data-ratio="709 710">99.86%</td>
+ <td class="right" data-ratio="220 710">30.99%</td>
</tr>
<tr class="file">
@@ -202,8 +202,8 @@
<div id="footer">
<div class="content">
<p>
- <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.2</a>,
- created at 2015-11-04 05:20
+ <a class="nav" href="https://coverage.readthedocs.org">coverage.py v4.0.3</a>,
+ created at 2015-11-24 07:02
</p>
</div>
</div>
diff --git a/doc/sample_html/status.json b/doc/sample_html/status.json
index 614f7b11..3419a956 100644
--- a/doc/sample_html/status.json
+++ b/doc/sample_html/status.json
@@ -1 +1 @@
-{"files": {"cogapp_test_whiteutils_py": {"index": {"relative_filename": "cogapp/test_whiteutils.py", "html_filename": "cogapp_test_whiteutils_py.html", "nums": [1, 69, 0, 69, 0, 0, 0]}, "hash": "f7a3c04788858b652fcfb29825e1e8d4"}, "cogapp_test_makefiles_py": {"index": {"relative_filename": "cogapp/test_makefiles.py", "html_filename": "cogapp_test_makefiles_py.html", "nums": [1, 55, 0, 55, 6, 0, 6]}, "hash": "ff1f44c04d08ae202f5164e1ba75818e"}, "cogapp_cogapp_py": {"index": {"relative_filename": "cogapp/cogapp.py", "html_filename": "cogapp_cogapp_py.html", "nums": [1, 423, 4, 3, 168, 4, 4]}, "hash": "4c6c4b843da7cd91e690535daa5192c1"}, "cogapp___init___py": {"index": {"relative_filename": "cogapp/__init__.py", "html_filename": "cogapp___init___py.html", "nums": [1, 2, 0, 0, 0, 0, 0]}, "hash": "e8e5f4601febeb4f8cfaedc27cda7ff2"}, "cogapp_backward_py": {"index": {"relative_filename": "cogapp/backward.py", "html_filename": "cogapp_backward_py.html", "nums": [1, 19, 0, 8, 2, 1, 1]}, "hash": "02fc7e84b678eb8cd2df594ecd21792d"}, "cogapp_test_cogapp_py": {"index": {"relative_filename": "cogapp/test_cogapp.py", "html_filename": "cogapp_test_cogapp_py.html", "nums": [1, 704, 6, 0, 6, 1, 1]}, "hash": "8042afebdffb470d9119c676064ad32c"}, "cogapp_makefiles_py": {"index": {"relative_filename": "cogapp/makefiles.py", "html_filename": "cogapp_makefiles_py.html", "nums": [1, 28, 3, 7, 14, 2, 8]}, "hash": "4344b02848c1c9dd0a59c3196640dde0"}, "cogapp_whiteutils_py": {"index": {"relative_filename": "cogapp/whiteutils.py", "html_filename": "cogapp_whiteutils_py.html", "nums": [1, 45, 0, 3, 32, 3, 3]}, "hash": "b898c54cd626b6265d68d6e536ad78cf"}, "cogapp___main___py": {"index": {"relative_filename": "cogapp/__main__.py", "html_filename": "cogapp___main___py.html", "nums": [1, 3, 0, 3, 0, 0, 0]}, "hash": "c846304fff9f9b5f7510a86b60c3c3c6"}}, "version": "4.0.2", "settings": "7d07facd0b8027d5d394bf363d405670", "format": 1} \ No newline at end of file
+{"files": {"cogapp_test_whiteutils_py": {"index": {"relative_filename": "cogapp/test_whiteutils.py", "html_filename": "cogapp_test_whiteutils_py.html", "nums": [1, 69, 0, 69, 0, 0, 0]}, "hash": "f7a3c04788858b652fcfb29825e1e8d4"}, "cogapp_test_makefiles_py": {"index": {"relative_filename": "cogapp/test_makefiles.py", "html_filename": "cogapp_test_makefiles_py.html", "nums": [1, 55, 0, 55, 6, 0, 6]}, "hash": "ff1f44c04d08ae202f5164e1ba75818e"}, "cogapp_cogapp_py": {"index": {"relative_filename": "cogapp/cogapp.py", "html_filename": "cogapp_cogapp_py.html", "nums": [1, 423, 4, 194, 168, 26, 114]}, "hash": "0cddc268270941a93a88a5a06a86629e"}, "cogapp___init___py": {"index": {"relative_filename": "cogapp/__init__.py", "html_filename": "cogapp___init___py.html", "nums": [1, 2, 0, 0, 0, 0, 0]}, "hash": "e8e5f4601febeb4f8cfaedc27cda7ff2"}, "cogapp_backward_py": {"index": {"relative_filename": "cogapp/backward.py", "html_filename": "cogapp_backward_py.html", "nums": [1, 19, 0, 8, 2, 1, 1]}, "hash": "02fc7e84b678eb8cd2df594ecd21792d"}, "cogapp_test_cogapp_py": {"index": {"relative_filename": "cogapp/test_cogapp.py", "html_filename": "cogapp_test_cogapp_py.html", "nums": [1, 704, 6, 486, 6, 0, 4]}, "hash": "8693bbecf0b8fc5ef9ad177e4d156edb"}, "cogapp_makefiles_py": {"index": {"relative_filename": "cogapp/makefiles.py", "html_filename": "cogapp_makefiles_py.html", "nums": [1, 28, 3, 20, 14, 0, 14]}, "hash": "a744227abe2381eefae57f20e5f3d79e"}, "cogapp_whiteutils_py": {"index": {"relative_filename": "cogapp/whiteutils.py", "html_filename": "cogapp_whiteutils_py.html", "nums": [1, 45, 0, 3, 32, 3, 3]}, "hash": "b898c54cd626b6265d68d6e536ad78cf"}, "cogapp___main___py": {"index": {"relative_filename": "cogapp/__main__.py", "html_filename": "cogapp___main___py.html", "nums": [1, 3, 0, 3, 0, 0, 0]}, "hash": "c846304fff9f9b5f7510a86b60c3c3c6"}}, "version": "4.0.3", "settings": "7d07facd0b8027d5d394bf363d405670", "format": 1} \ No newline at end of file
diff --git a/howto.txt b/howto.txt
index 2686283b..d12bdaec 100644
--- a/howto.txt
+++ b/howto.txt
@@ -1,10 +1,5 @@
* Release checklist
-- Test on:
- - Windows
- - Ubuntu
- - Mac
- - Pythons 2.6, 2.7, 3.3, 3.4, 3.5
- Version number in coverage/version.py
version_info = (4, 0, 2, 'alpha', 1)
version_info = (4, 0, 2, 'beta', 1)
@@ -19,7 +14,10 @@
- Version and date in doc/index.rst
- Version and copyright date in doc/conf.py
- Don't forget the man page: doc/python-coverage.1.txt
+ - Check that the docs build correctly:
+ $ tox -e doc
- Done with changes to source files, check them in.
+ - hg push
- Generate new sample_html to get the latest, incl footer version number:
pip install -e .
cd ~/cog/trunk
@@ -42,13 +40,11 @@
- Build and publish docs:
$ make publish
- Kits:
- - Source kit:
- - $ make clean kit
- - Wheels
- - $ make wheel
+ - Source kit and wheels:
+ - $ make clean kit wheel
- Windows kits
- - $ hg push
- - wait about an hour for Appveyor to build kits.
+ - wait for over an hour for Appveyor to build kits.
+ - https://ci.appveyor.com/project/nedbat/coveragepy
- $ make download_appveyor
- examine the dist directory, and remove anything that looks malformed.
- Update PyPi:
diff --git a/igor.py b/igor.py
index 409fdc91..54b8da16 100644
--- a/igor.py
+++ b/igor.py
@@ -328,7 +328,12 @@ def print_banner(label):
if '__pypy__' in sys.builtin_module_names:
version += " (pypy %s)" % ".".join(str(v) for v in sys.pypy_version_info)
- which_python = os.path.relpath(sys.executable)
+ try:
+ which_python = os.path.relpath(sys.executable)
+ except ValueError:
+ # On Windows having a python executable on a different drives
+ # than the sources cannot be relative.
+ which_python = sys.executable
print('=== %s %s %s (%s) ===' % (impl, version, label, which_python))
sys.stdout.flush()
diff --git a/lab/branches.py b/lab/branches.py
index 275eef4a..d1908d0f 100644
--- a/lab/branches.py
+++ b/lab/branches.py
@@ -21,7 +21,7 @@ def my_function(x):
# Notice that "while 1" also has this problem. Even though the compiler
# knows there's no computation at the top of the loop, it's still expressed
- # in byte code as a branch with two possibilities.
+ # in bytecode as a branch with two possibilities.
i = 0
while 1:
diff --git a/lab/disgen.py b/lab/disgen.py
index 4e4c6fa6..26bc56bc 100644
--- a/lab/disgen.py
+++ b/lab/disgen.py
@@ -1,4 +1,4 @@
-"""Disassembler of Python byte code into mnemonics."""
+"""Disassembler of Python bytecode into mnemonics."""
# Adapted from stdlib dis.py, but returns structured information
# instead of printing to stdout.
@@ -133,7 +133,7 @@ def byte_from_code(code, i):
return byte
def findlabels(code):
- """Detect all offsets in a byte code which are jump targets.
+ """Detect all offsets in a bytecode which are jump targets.
Return the list of offsets.
@@ -158,7 +158,7 @@ def findlabels(code):
return labels
def findlinestarts(code):
- """Find the offsets in a byte code which are start of lines in the source.
+ """Find the offsets in a bytecode which are start of lines in the source.
Generate pairs (offset, lineno) as described in Python/compile.c.
diff --git a/lab/new-data.js b/lab/new-data.js
index 973aa116..9cb8f715 100644
--- a/lab/new-data.js
+++ b/lab/new-data.js
@@ -1,13 +1,4 @@
{
- "run" {
- "collector": "coverage.py 4.0",
- "config": {
- "branch": true,
- "source": ".",
- },
- "collected": "20150711T090600",
- },
-
// As of now:
"lines": {
"a/b/c.py": [1, 2, 3, 4, 5],
@@ -16,10 +7,20 @@
"arcs": {
"a/b/c.py: [[1, 2], [2, 3], [4, 5]],
},
- "plugins: {
+ "file_tracers": {
"a/b/c.py": "fooey.plugin",
},
+ // We used to do this, but it got too bulky, removed in 4.0.1:
+ "run" {
+ "collector": "coverage.py 4.0",
+ "config": {
+ "branch": true,
+ "source": ".",
+ },
+ "collected": "20150711T090600",
+ },
+
// Maybe in the future?
"files": {
"a/b/c.py": {
diff --git a/lab/parser.py b/lab/parser.py
index 97c81d89..4deb93e9 100644
--- a/lab/parser.py
+++ b/lab/parser.py
@@ -5,29 +5,29 @@
from __future__ import division
-import glob, os, sys
import collections
-from optparse import OptionParser
+import glob
+import optparse
+import os
+import re
+import sys
+import textwrap
import disgen
-from coverage.misc import CoverageException
-from coverage.parser import ByteParser, PythonParser
+from coverage.parser import PythonParser
from coverage.python import get_python_source
opcode_counts = collections.Counter()
+
class ParserMain(object):
"""A main for code parsing experiments."""
def main(self, args):
"""A main function for trying the code from the command line."""
- parser = OptionParser()
- parser.add_option(
- "-c", action="store_true", dest="chunks",
- help="Show basic block chunks"
- )
+ parser = optparse.OptionParser()
parser.add_option(
"-d", action="store_true", dest="dis",
help="Disassemble"
@@ -69,67 +69,74 @@ class ParserMain(object):
for opcode, number in opcode_counts.most_common():
print("{0:20s} {1:6d} {2:.1%}".format(opcode, number, number/total))
-
def one_file(self, options, filename):
"""Process just one file."""
+ # `filename` can have a line number suffix. In that case, extract those
+ # lines, dedent them, and use that. This is for trying test cases
+ # embedded in the test files.
+ match = re.search(r"^(.*):(\d+)-(\d+)$", filename)
+ if match:
+ filename, start, end = match.groups()
+ start, end = int(start), int(end)
+ else:
+ start = end = None
try:
text = get_python_source(filename)
- bp = ByteParser(text, filename=filename)
+ if start is not None:
+ lines = text.splitlines(True)
+ text = textwrap.dedent("".join(lines[start-1:end]).replace("\\\\", "\\"))
+ pyparser = PythonParser(text, filename=filename, exclude=r"no\s*cover")
+ pyparser.parse_source()
except Exception as err:
print("%s" % (err,))
return
if options.dis:
print("Main code:")
- self.disassemble(bp, histogram=options.histogram)
+ self.disassemble(pyparser.byte_parser, histogram=options.histogram)
- arcs = bp._all_arcs()
- if options.chunks:# and not options.dis:
- chunks = bp._all_chunks()
- if options.recursive:
- print("%6d: %s" % (len(chunks), filename))
- else:
- print("Chunks: %r" % chunks)
- print("Arcs: %r" % sorted(arcs))
+ arcs = pyparser.arcs()
if options.source or options.tokens:
- cp = PythonParser(filename=filename, exclude=r"no\s*cover")
- cp.show_tokens = options.tokens
- cp._raw_parse()
+ pyparser.show_tokens = options.tokens
+ pyparser.parse_source()
if options.source:
- if options.chunks:
- arc_width, arc_chars = self.arc_ascii_art(arcs)
- else:
- arc_width, arc_chars = 0, {}
-
- exit_counts = cp.exit_counts()
-
- for lineno, ltext in enumerate(cp.lines, start=1):
- m0 = m1 = m2 = m3 = a = ' '
- if lineno in cp.statement_starts:
- m0 = '-'
+ arc_chars = self.arc_ascii_art(arcs)
+ if arc_chars:
+ arc_width = max(len(a) for a in arc_chars.values())
+
+ exit_counts = pyparser.exit_counts()
+
+ for lineno, ltext in enumerate(pyparser.lines, start=1):
+ marks = [' ', ' ', ' ', ' ', ' ']
+ a = ' '
+ if lineno in pyparser.raw_statements:
+ marks[0] = '-'
+ if lineno in pyparser.statements:
+ marks[1] = '='
exits = exit_counts.get(lineno, 0)
if exits > 1:
- m1 = str(exits)
- if lineno in cp.docstrings:
- m2 = '"'
- if lineno in cp.classdefs:
- m2 = 'C'
- if lineno in cp.excluded:
- m3 = 'x'
- a = arc_chars[lineno].ljust(arc_width)
- print("%4d %s%s%s%s%s %s" %
- (lineno, m0, m1, m2, m3, a, ltext)
- )
+ marks[2] = str(exits)
+ if lineno in pyparser.raw_docstrings:
+ marks[3] = '"'
+ if lineno in pyparser.raw_classdefs:
+ marks[3] = 'C'
+ if lineno in pyparser.raw_excluded:
+ marks[4] = 'x'
+
+ if arc_chars:
+ a = arc_chars[lineno].ljust(arc_width)
+ else:
+ a = ""
+
+ print("%4d %s%s %s" % (lineno, "".join(marks), a, ltext))
def disassemble(self, byte_parser, histogram=False):
"""Disassemble code, for ad-hoc experimenting."""
for bp in byte_parser.child_parsers():
- chunks = bp._split_into_chunks()
- chunkd = dict((chunk.byte, chunk) for chunk in chunks)
if bp.text:
srclines = bp.text.splitlines()
else:
@@ -149,22 +156,19 @@ class ParserMain(object):
elif disline.offset > 0:
print("")
line = disgen.format_dis_line(disline)
- chunk = chunkd.get(disline.offset)
- if chunk:
- chunkstr = ":: %r" % chunk
- else:
- chunkstr = ""
- print("%-70s%s" % (line, chunkstr))
+ print("%-70s" % (line,))
print("")
def arc_ascii_art(self, arcs):
"""Draw arcs as ascii art.
- Returns a width of characters needed to draw all the arcs, and a
- dictionary mapping line numbers to ascii strings to draw for that line.
+ Returns a dictionary mapping line numbers to ascii strings to draw for
+ that line.
"""
+
+ plus_ones = set()
arc_chars = collections.defaultdict(str)
for lfrom, lto in sorted(arcs):
if lfrom < 0:
@@ -173,13 +177,13 @@ class ParserMain(object):
arc_chars[lfrom] += '^'
else:
if lfrom == lto - 1:
- # Don't show obvious arcs.
+ plus_ones.add(lfrom)
continue
if lfrom < lto:
l1, l2 = lfrom, lto
else:
l1, l2 = lto, lfrom
- w = max(len(arc_chars[l]) for l in range(l1, l2+1))
+ w = first_all_blanks(arc_chars[l] for l in range(l1, l2+1))
for l in range(l1, l2+1):
if l == lfrom:
ch = '<'
@@ -187,16 +191,40 @@ class ParserMain(object):
ch = '>'
else:
ch = '|'
- arc_chars[l] = arc_chars[l].ljust(w) + ch
- arc_width = 0
+ arc_chars[l] = set_char(arc_chars[l], w, ch)
- if arc_chars:
- arc_width = max(len(a) for a in arc_chars.values())
- else:
- arc_width = 0
+ # Add the plusses as the first character
+ for lineno, arcs in arc_chars.items():
+ arc_chars[lineno] = (
+ ("+" if lineno in plus_ones else " ") +
+ arcs
+ )
+
+ return arc_chars
+
+
+def set_char(s, n, c):
+ """Set the nth char of s to be c, extending s if needed."""
+ s = s.ljust(n)
+ return s[:n] + c + s[n+1:]
+
+
+def blanks(s):
+ """Return the set of positions where s is blank."""
+ return set(i for i, c in enumerate(s) if c == " ")
+
+
+def first_all_blanks(ss):
+ """Find the first position that is all blank in the strings ss."""
+ ss = list(ss)
+ blankss = blanks(ss[0])
+ for s in ss[1:]:
+ blankss &= blanks(s)
+ if blankss:
+ return min(blankss)
+ else:
+ return max(len(s) for s in ss)
- return arc_width, arc_chars
if __name__ == '__main__':
ParserMain().main(sys.argv[1:])
-
diff --git a/pylintrc b/pylintrc
index 09ac1416..4dc9c8e1 100644
--- a/pylintrc
+++ b/pylintrc
@@ -134,7 +134,11 @@ required-attributes=
# Regular expression which should only match functions or classes name which do
# not require a docstring
-no-docstring-rgx=__.*__|test[A-Z_].*|setUp|tearDown
+# Special methods don't: __foo__
+# Test methods don't: testXXXX
+# TestCase overrides don't: setUp, tearDown
+# Dispatched methods don't: _xxx__Xxxx
+no-docstring-rgx=__.*__|test[A-Z_].*|setUp|tearDown|_.*__.*
# Regular expression which should only match correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
diff --git a/requirements/dev.pip b/requirements/dev.pip
index 503601ff..0c68430f 100644
--- a/requirements/dev.pip
+++ b/requirements/dev.pip
@@ -11,10 +11,10 @@ nose==1.3.7
# for linting.
greenlet==0.4.9
mock==1.3.0
-PyContracts==1.7.6
+PyContracts==1.7.9
pyenchant==1.6.6
-pylint==1.4.4
+pylint==1.4.5
# for kitting.
-requests==2.8.1
-twine==1.6.4
+requests==2.9.1
+twine==1.6.5
diff --git a/requirements/tox.pip b/requirements/tox.pip
index 9080d82e..86093d5e 100644
--- a/requirements/tox.pip
+++ b/requirements/tox.pip
@@ -1,2 +1,2 @@
# The version of tox used by coverage.py
-tox==2.1.1
+tox==2.3.1
diff --git a/requirements/wheel.pip b/requirements/wheel.pip
index 3b683e4d..e25de8f8 100644
--- a/requirements/wheel.pip
+++ b/requirements/wheel.pip
@@ -1,3 +1,3 @@
# Things needed to make wheels for coverage.py
-setuptools==18.4
+setuptools==19.5
wheel==0.26.0
diff --git a/tests/coveragetest.py b/tests/coveragetest.py
index 5042c98d..d79aee7f 100644
--- a/tests/coveragetest.py
+++ b/tests/coveragetest.py
@@ -15,11 +15,12 @@ import sys
import coverage
from coverage.backunittest import TestCase
-from coverage.backward import StringIO, import_local_file, string_class
+from coverage.backward import StringIO, import_local_file, string_class, shlex_quote
from coverage.cmdline import CoverageScript
from coverage.debug import _TEST_NAME_FILE, DebugControl
from coverage.test_helpers import (
EnvironmentAwareMixin, StdStreamCapturingMixin, TempDirMixin,
+ DelayedAssertionMixin,
)
from nose.plugins.skip import SkipTest
@@ -35,6 +36,7 @@ class CoverageTest(
EnvironmentAwareMixin,
StdStreamCapturingMixin,
TempDirMixin,
+ DelayedAssertionMixin,
TestCase
):
"""A base class for coverage.py test cases."""
@@ -81,20 +83,22 @@ class CoverageTest(
if os.path.exists("__pycache__"):
shutil.rmtree("__pycache__")
- def import_local_file(self, modname):
+ def import_local_file(self, modname, modfile=None):
"""Import a local file as a module.
Opens a file in the current directory named `modname`.py, imports it
- as `modname`, and returns the module object.
+ as `modname`, and returns the module object. `modfile` is the file to
+ import if it isn't in the current directory.
"""
- return import_local_file(modname)
+ return import_local_file(modname, modfile)
- def start_import_stop(self, cov, modname):
+ def start_import_stop(self, cov, modname, modfile=None):
"""Start coverage, import a file, then stop coverage.
`cov` is started and stopped, with an `import_local_file` of
- `modname` in the middle.
+ `modname` in the middle. `modfile` is the file to import as `modname`
+ if it isn't in the current directory.
The imported module is returned.
@@ -102,7 +106,7 @@ class CoverageTest(
cov.start()
try: # pragma: nested
# Import the Python file, executing it.
- mod = self.import_local_file(modname)
+ mod = self.import_local_file(modname, modfile)
finally: # pragma: nested
# Stop coverage.py.
cov.stop()
@@ -161,7 +165,7 @@ class CoverageTest(
def check_coverage(
self, text, lines=None, missing="", report="",
excludes=None, partials="",
- arcz=None, arcz_missing=None, arcz_unpredicted=None,
+ arcz=None, arcz_missing="", arcz_unpredicted="",
arcs=None, arcs_missing=None, arcs_unpredicted=None,
):
"""Check the coverage measurement of `text`.
@@ -173,10 +177,11 @@ class CoverageTest(
of the measurement report.
For arc measurement, `arcz` is a string that can be decoded into arcs
- in the code (see `arcz_to_arcs` for the encoding scheme),
+ in the code (see `arcz_to_arcs` for the encoding scheme).
`arcz_missing` are the arcs that are not executed, and
- `arcs_unpredicted` are the arcs executed in the code, but not deducible
- from the code.
+ `arcz_unpredicted` are the arcs executed in the code, but not deducible
+ from the code. These last two default to "", meaning we explicitly
+ check that there are no missing or unpredicted arcs.
Returns the Coverage object, in case you want to poke at it some more.
@@ -189,14 +194,13 @@ class CoverageTest(
if arcs is None and arcz is not None:
arcs = self.arcz_to_arcs(arcz)
- if arcs_missing is None and arcz_missing is not None:
+ if arcs_missing is None:
arcs_missing = self.arcz_to_arcs(arcz_missing)
- if arcs_unpredicted is None and arcz_unpredicted is not None:
+ if arcs_unpredicted is None:
arcs_unpredicted = self.arcz_to_arcs(arcz_unpredicted)
- branch = any(x is not None for x in [arcs, arcs_missing, arcs_unpredicted])
# Start up coverage.py.
- cov = coverage.Coverage(branch=branch)
+ cov = coverage.Coverage(branch=True)
cov.erase()
for exc in excludes or []:
cov.exclude(exc)
@@ -236,15 +240,17 @@ class CoverageTest(
self.fail("None of the missing choices matched %r" % missing_formatted)
if arcs is not None:
- self.assert_equal_args(analysis.arc_possibilities(), arcs, "Possible arcs differ")
+ with self.delayed_assertions():
+ self.assert_equal_args(
+ analysis.arc_possibilities(), arcs,
+ "Possible arcs differ",
+ )
- if arcs_missing is not None:
self.assert_equal_args(
analysis.arcs_missing(), arcs_missing,
"Missing arcs differ"
)
- if arcs_unpredicted is not None:
self.assert_equal_args(
analysis.arcs_unpredicted(), arcs_unpredicted,
"Unpredicted arcs differ"
@@ -332,25 +338,48 @@ class CoverageTest(
ret_actual = script.command_line(shlex.split(args))
self.assertEqual(ret_actual, ret)
+ coverage_command = "coverage"
+
def run_command(self, cmd):
- """Run the command-line `cmd` in a sub-process, and print its output.
+ """Run the command-line `cmd` in a sub-process.
+
+ `cmd` is the command line to invoke in a sub-process. Returns the
+ combined content of `stdout` and `stderr` output streams from the
+ sub-process.
Use this when you need to test the process behavior of coverage.
Compare with `command_line`.
- Returns the process' stdout text.
+ Handles the following command name specially:
+
+ * "python" is replaced with the command name of the current
+ Python interpreter.
+
+ * "coverage" is replaced with the command name for the main
+ Coverage.py program.
"""
- # Running Python sub-processes can be tricky. Use the real name of our
- # own executable. So "python foo.py" might get executed as
- # "python3.3 foo.py". This is important because Python 3.x doesn't
- # install as "python", so you might get a Python 2 executable instead
- # if you don't use the executable's basename.
- if cmd.startswith("python "):
- cmd = os.path.basename(sys.executable) + cmd[6:]
-
- _, output = self.run_command_status(cmd)
+ split_commandline = cmd.split(" ", 1)
+ command_name = split_commandline[0]
+ command_args = split_commandline[1:]
+
+ if command_name == "python":
+ # Running a Python interpreter in a sub-processes can be tricky.
+ # Use the real name of our own executable. So "python foo.py" might
+ # get executed as "python3.3 foo.py". This is important because
+ # Python 3.x doesn't install as "python", so you might get a Python
+ # 2 executable instead if you don't use the executable's basename.
+ command_name = os.path.basename(sys.executable)
+
+ if command_name == "coverage":
+ # The invocation requests the Coverage.py program. Substitute the
+ # actual Coverage.py main command name.
+ command_name = self.coverage_command
+
+ full_commandline = " ".join([shlex_quote(command_name)] + command_args)
+
+ _, output = self.run_command_status(full_commandline)
return output
def run_command_status(self, cmd):
diff --git a/tests/test_api.py b/tests/test_api.py
index a7cadab3..3ea5b3ef 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -278,18 +278,17 @@ class ApiTest(CoverageTest):
self.start_import_stop(cov, "code2")
self.check_code1_code2(cov)
- if 0: # expected failure
- # for https://bitbucket.org/ned/coveragepy/issue/79
- def test_start_save_stop(self):
- self.make_code1_code2()
- cov = coverage.Coverage()
- cov.start()
- self.import_local_file("code1")
- cov.save()
- self.import_local_file("code2")
- cov.stop()
-
- self.check_code1_code2(cov)
+ def test_start_save_stop(self):
+ self.skip("Expected failure: https://bitbucket.org/ned/coveragepy/issue/79")
+ self.make_code1_code2()
+ cov = coverage.Coverage()
+ cov.start()
+ self.import_local_file("code1")
+ cov.save()
+ self.import_local_file("code2")
+ cov.stop()
+
+ self.check_code1_code2(cov)
def make_corrupt_data_files(self):
"""Make some good and some bad data files."""
diff --git a/tests/test_arcs.py b/tests/test_arcs.py
index df303d8b..030b719d 100644
--- a/tests/test_arcs.py
+++ b/tests/test_arcs.py
@@ -83,7 +83,8 @@ class SimpleArcTest(CoverageTest):
if len([]) == 0: a = 2
assert a == 2
""",
- arcz=".1 12 23 3.", arcz_missing="")
+ arcz=".1 12 23 3.",
+ )
self.check_coverage("""\
def fn(x):
if x % 2: return True
@@ -102,7 +103,8 @@ class SimpleArcTest(CoverageTest):
b = \\
6
""",
- arcz=".1 15 5-2", arcz_missing="")
+ arcz=".1 15 5-2",
+ )
def test_if_return(self):
self.check_coverage("""\
@@ -114,8 +116,8 @@ class SimpleArcTest(CoverageTest):
x = if_ret(0) + if_ret(1)
assert x == 8
""",
- arcz=".1 16 67 7. .2 23 24 3. 45 5.", arcz_missing=""
- )
+ arcz=".1 16 67 7. .2 23 24 3. 45 5.",
+ )
def test_dont_confuse_exit_and_else(self):
self.check_coverage("""\
@@ -140,15 +142,12 @@ class SimpleArcTest(CoverageTest):
arcz=".1 16 6. .2 23 3. 25 5.", arcz_missing="25 5."
)
- if 0: # expected failure
- def test_unused_lambdas_are_confusing_bug_90(self):
- self.check_coverage("""\
- a = 1
- fn = lambda x: x
- b = 3
- """,
- arcz=".1 12 .2 2-2 23 3."
- )
+ def test_what_is_the_sound_of_no_lines_clapping(self):
+ self.check_coverage("""\
+ # __init__.py
+ """,
+ arcz=".1 1.",
+ )
class WithTest(CoverageTest):
@@ -188,7 +187,8 @@ class LoopArcTest(CoverageTest):
a = i
assert a == 9
""",
- arcz=".1 12 21 13 3.", arcz_missing="")
+ arcz=".1 12 21 13 3.",
+ )
self.check_coverage("""\
a = -1
for i in range(0):
@@ -204,7 +204,8 @@ class LoopArcTest(CoverageTest):
a = i + j
assert a == 4
""",
- arcz=".1 12 23 32 21 14 4.", arcz_missing="")
+ arcz=".1 12 23 32 21 14 4.",
+ )
def test_break(self):
self.check_coverage("""\
@@ -267,7 +268,7 @@ class LoopArcTest(CoverageTest):
assert a == 4 and i == 3
""",
arcz=arcz,
- )
+ )
def test_for_if_else_for(self):
self.check_coverage("""\
@@ -311,6 +312,22 @@ class LoopArcTest(CoverageTest):
arcz=".1 .2 23 32 34 47 26 67 7. 18 89 9."
)
+ def test_while_else(self):
+ self.check_coverage("""\
+ def whileelse(seq):
+ while seq:
+ n = seq.pop()
+ if n > 4:
+ break
+ else:
+ n = 99
+ return n
+ assert whileelse([1, 2]) == 99
+ assert whileelse([1, 5]) == 5
+ """,
+ arcz=".1 19 9A A. .2 23 34 45 58 42 27 78 8.",
+ )
+
def test_confusing_for_loop_bug_175(self):
if env.PY3:
# Py3 counts the list comp as a separate code object.
@@ -324,7 +341,8 @@ class LoopArcTest(CoverageTest):
x = tup[0]
y = tup[1]
""",
- arcz=arcz, arcz_missing="", arcz_unpredicted="")
+ arcz=arcz,
+ )
if env.PY3:
arcz = ".1 12 .2 2-2 23 34 42 2."
else:
@@ -335,7 +353,92 @@ class LoopArcTest(CoverageTest):
x = tup[0]
y = tup[1]
""",
- arcz=arcz, arcz_missing="", arcz_unpredicted="")
+ arcz=arcz,
+ )
+
+ def test_generator_expression(self):
+ # Generator expression:
+ self.check_coverage("""\
+ o = ((1,2), (3,4))
+ o = (a for a in o)
+ for tup in o:
+ x = tup[0]
+ y = tup[1]
+ """,
+ arcz=".1 .2 2-2 12 23 34 45 53 3.",
+ )
+
+ def test_other_comprehensions(self):
+ if env.PYVERSION < (2, 7):
+ self.skip("Don't have set or dict comprehensions before 2.7")
+ # Set comprehension:
+ self.check_coverage("""\
+ o = ((1,2), (3,4))
+ o = {a for a in o}
+ for tup in o:
+ x = tup[0]
+ y = tup[1]
+ """,
+ arcz=".1 .2 2-2 12 23 34 45 53 3.",
+ )
+ # Dict comprehension:
+ self.check_coverage("""\
+ o = ((1,2), (3,4))
+ o = {a:1 for a in o}
+ for tup in o:
+ x = tup[0]
+ y = tup[1]
+ """,
+ arcz=".1 .2 2-2 12 23 34 45 53 3.",
+ )
+
+ def test_multiline_dict_comp(self):
+ if env.PYVERSION < (2, 7):
+ self.skip("Don't have set or dict comprehensions before 2.7")
+ if env.PYVERSION < (3, 5):
+ arcz = ".2 2B B-4 2-4"
+ else:
+ arcz = ".2 2B B-3 2-3"
+ # Multiline dict comp:
+ self.check_coverage("""\
+ # comment
+ d = \\
+ {
+ i:
+ str(i)
+ for
+ i
+ in
+ range(9)
+ }
+ x = 11
+ """,
+ arcz=arcz,
+ )
+ # Multi dict comp:
+ if env.PYVERSION < (3, 5):
+ arcz = ".2 2F F-4 2-4"
+ else:
+ arcz = ".2 2F F-3 2-3"
+ self.check_coverage("""\
+ # comment
+ d = \\
+ {
+ (i, j):
+ str(i+j)
+ for
+ i
+ in
+ range(9)
+ for
+ j
+ in
+ range(13)
+ }
+ x = 15
+ """,
+ arcz=arcz,
+ )
class ExceptionArcTest(CoverageTest):
@@ -361,44 +464,48 @@ class ExceptionArcTest(CoverageTest):
b = 7
assert a == 3 and b == 7
""",
- arcz=".1 12 23 34 58 67 78 8.",
- arcz_missing="58", arcz_unpredicted="46")
+ arcz=".1 12 23 34 46 58 67 78 8.",
+ arcz_missing="58",
+ )
def test_hidden_raise(self):
self.check_coverage("""\
a, b = 1, 1
def oops(x):
- if x % 2: raise Exception("odd")
+ if x % 2:
+ raise Exception("odd")
try:
- a = 5
+ a = 6
oops(1)
- a = 7
+ a = 8
except:
- b = 9
- assert a == 5 and b == 9
+ b = 10
+ assert a == 6 and b == 10
""",
- arcz=".1 12 .3 3-2 24 45 56 67 7A 89 9A A.",
- arcz_missing="67 7A", arcz_unpredicted="68")
+ arcz=".1 12 .3 34 3-2 4-2 25 56 67 78 8B 9A AB B.",
+ arcz_missing="3-2 78 8B", arcz_unpredicted="79",
+ )
def test_except_with_type(self):
self.check_coverage("""\
a, b = 1, 1
def oops(x):
- if x % 2: raise ValueError("odd")
+ if x % 2:
+ raise ValueError("odd")
def try_it(x):
try:
- a = 6
+ a = 7
oops(x)
- a = 8
+ a = 9
except ValueError:
- b = 10
+ b = 11
return a
- assert try_it(0) == 8 # C
- assert try_it(1) == 6 # D
+ assert try_it(0) == 9 # C
+ assert try_it(1) == 7 # D
""",
- arcz=".1 12 .3 3-2 24 4C CD D. .5 56 67 78 8B 9A AB B-4",
- arcz_missing="",
- arcz_unpredicted="79")
+ arcz=".1 12 .3 34 3-2 4-2 25 5D DE E. .6 67 78 89 9C AB BC C-5",
+ arcz_unpredicted="8A",
+ )
def test_try_finally(self):
self.check_coverage("""\
@@ -409,7 +516,8 @@ class ExceptionArcTest(CoverageTest):
c = 5
assert a == 3 and c == 5
""",
- arcz=".1 12 23 35 56 6.", arcz_missing="")
+ arcz=".1 12 23 35 56 6.",
+ )
self.check_coverage("""\
a, c, d = 1, 1, 1
try:
@@ -421,8 +529,9 @@ class ExceptionArcTest(CoverageTest):
d = 8
assert a == 4 and c == 6 and d == 1 # 9
""",
- arcz=".1 12 23 34 46 67 78 89 69 9.",
- arcz_missing="67 78 89", arcz_unpredicted="")
+ arcz=".1 12 23 34 46 78 89 69 9.",
+ arcz_missing="78 89",
+ )
self.check_coverage("""\
a, c, d = 1, 1, 1
try:
@@ -436,8 +545,9 @@ class ExceptionArcTest(CoverageTest):
d = 10 # A
assert a == 4 and c == 8 and d == 10 # B
""",
- arcz=".1 12 23 34 45 68 89 8B 9A AB B.",
- arcz_missing="68 8B", arcz_unpredicted="58")
+ arcz=".1 12 23 34 45 58 68 89 8B 9A AB B.",
+ arcz_missing="68 8B",
+ )
def test_finally_in_loop(self):
self.check_coverage("""\
@@ -455,8 +565,9 @@ class ExceptionArcTest(CoverageTest):
d = 12 # C
assert a == 5 and c == 10 and d == 12 # D
""",
- arcz=".1 12 23 34 3D 45 56 67 68 8A A3 AB BC CD D.",
- arcz_missing="3D", arcz_unpredicted="7A")
+ arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 AB BC CD D.",
+ arcz_missing="3D",
+ )
self.check_coverage("""\
a, c, d, i = 1, 1, 1, 99
try:
@@ -472,11 +583,12 @@ class ExceptionArcTest(CoverageTest):
d = 12 # C
assert a == 8 and c == 10 and d == 1 # D
""",
- arcz=".1 12 23 34 3D 45 56 67 68 8A A3 AB BC CD D.",
- arcz_missing="67 AB BC CD", arcz_unpredicted="")
+ arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 AB BC CD D.",
+ arcz_missing="67 7A AB BC CD",
+ )
- def test_break_in_finally(self):
+ def test_break_through_finally(self):
self.check_coverage("""\
a, c, d, i = 1, 1, 1, 99
try:
@@ -492,8 +604,29 @@ class ExceptionArcTest(CoverageTest):
d = 12 # C
assert a == 5 and c == 10 and d == 1 # D
""",
- arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 AB BC CD D.",
- arcz_missing="3D AB BC CD", arcz_unpredicted="AD")
+ arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 AD BC CD D.",
+ arcz_missing="3D BC CD",
+ )
+
+ def test_continue_through_finally(self):
+ self.check_coverage("""\
+ a, b, c, d, i = 1, 1, 1, 1, 99
+ try:
+ for i in range(5):
+ try:
+ a = 5
+ if i > 0:
+ continue
+ b = 8
+ finally:
+ c = 10
+ except:
+ d = 12 # C
+ assert (a, b, c, d) == (5, 8, 10, 1) # D
+ """,
+ arcz=".1 12 23 34 3D 45 56 67 68 7A 8A A3 BC CD D.",
+ arcz_missing="BC CD",
+ )
def test_finally_in_loop_bug_92(self):
self.check_coverage("""\
@@ -506,14 +639,10 @@ class ExceptionArcTest(CoverageTest):
h = 7
""",
arcz=".1 12 23 35 56 61 17 7.",
- arcz_missing="", arcz_unpredicted="")
+ )
- # "except Exception as e" is crucial here.
def test_bug_212(self):
- # Run this test only on Py2 for now. I hope to fix it on Py3
- # eventually...
- if env.PY3:
- self.skip("This doesn't work on Python 3")
+ # "except Exception as e" is crucial here.
self.check_coverage("""\
def b(exc):
try:
@@ -530,8 +659,8 @@ class ExceptionArcTest(CoverageTest):
except:
pass
""",
- arcz=".1 .2 1A 23 34 56 67 68 8. AB BC C. DE E.",
- arcz_missing="C.", arcz_unpredicted="45 7. CD")
+ arcz=".1 .2 1A 23 34 45 56 67 68 7. 8. AB BC C. DE E.",
+ arcz_missing="C.", arcz_unpredicted="CD")
def test_except_finally(self):
self.check_coverage("""\
@@ -562,6 +691,175 @@ class ExceptionArcTest(CoverageTest):
arcz=".1 12 .3 3-2 24 45 56 67 7B 89 9B BC C.",
arcz_missing="67 7B", arcz_unpredicted="68")
+ def test_multiple_except_clauses(self):
+ self.check_coverage("""\
+ a, b, c = 1, 1, 1
+ try:
+ a = 3
+ except ValueError:
+ b = 5
+ except IndexError:
+ a = 7
+ finally:
+ c = 9
+ assert a == 3 and b == 1 and c == 9
+ """,
+ arcz=".1 12 23 45 46 39 59 67 79 9A A.",
+ arcz_missing="45 59 46 67 79",
+ )
+ self.check_coverage("""\
+ a, b, c = 1, 1, 1
+ try:
+ a = int("xyz") # ValueError
+ except ValueError:
+ b = 5
+ except IndexError:
+ a = 7
+ finally:
+ c = 9
+ assert a == 1 and b == 5 and c == 9
+ """,
+ arcz=".1 12 23 45 46 39 59 67 79 9A A.",
+ arcz_missing="39 46 67 79",
+ arcz_unpredicted="34",
+ )
+ self.check_coverage("""\
+ a, b, c = 1, 1, 1
+ try:
+ a = [1][3] # IndexError
+ except ValueError:
+ b = 5
+ except IndexError:
+ a = 7
+ finally:
+ c = 9
+ assert a == 7 and b == 1 and c == 9
+ """,
+ arcz=".1 12 23 45 46 39 59 67 79 9A A.",
+ arcz_missing="39 45 59",
+ arcz_unpredicted="34",
+ )
+ self.check_coverage("""\
+ a, b, c = 1, 1, 1
+ try:
+ try:
+ a = 4/0 # ZeroDivisionError
+ except ValueError:
+ b = 6
+ except IndexError:
+ a = 8
+ finally:
+ c = 10
+ except ZeroDivisionError:
+ pass
+ assert a == 1 and b == 1 and c == 10
+ """,
+ arcz=".1 12 23 34 4A 56 6A 57 78 8A AD BC CD D.",
+ arcz_missing="4A 56 6A 78 8A AD",
+ arcz_unpredicted="45 7A AB",
+ )
+
+ def test_return_finally(self):
+ self.check_coverage("""\
+ a = [1]
+ def func():
+ try:
+ return 10
+ finally:
+ a.append(6)
+
+ assert func() == 10
+ assert a == [1, 6]
+ """,
+ arcz=".1 12 28 89 9. .3 34 46 6-2",
+ )
+
+ def test_except_jump_finally(self):
+ self.check_coverage("""\
+ def func(x):
+ a = f = g = 2
+ try:
+ for i in range(4):
+ try:
+ 6/0
+ except ZeroDivisionError:
+ if x == 'break':
+ a = 9
+ break
+ elif x == 'continue':
+ a = 12
+ continue
+ elif x == 'return':
+ a = 15 # F
+ return a, f, g, i # G
+ elif x == 'raise': # H
+ a = 18 # I
+ raise ValueError() # J
+ finally:
+ f = 21 # L
+ except ValueError: # M
+ g = 23 # N
+ return a, f, g, i # O
+
+ assert func('break') == (9, 21, 2, 0) # Q
+ assert func('continue') == (12, 21, 2, 3) # R
+ assert func('return') == (15, 2, 2, 0) # S
+ assert func('raise') == (18, 21, 23, 0) # T
+ """,
+ arcz=
+ ".1 1Q QR RS ST T. "
+ ".2 23 34 45 56 4O 6L "
+ "78 89 9A AL 8B BC CD DL BE EF FG GL EH HI IJ JL HL "
+ "LO L4 L. LM "
+ "MN NO O.",
+ arcz_missing="6L HL",
+ arcz_unpredicted="67",
+ )
+
+ def test_else_jump_finally(self):
+ self.check_coverage("""\
+ def func(x):
+ a = f = g = 2
+ try:
+ for i in range(4):
+ try:
+ b = 6
+ except ZeroDivisionError:
+ pass
+ else:
+ if x == 'break':
+ a = 11
+ break
+ elif x == 'continue':
+ a = 14
+ continue
+ elif x == 'return':
+ a = 17 # H
+ return a, f, g, i # I
+ elif x == 'raise': # J
+ a = 20 # K
+ raise ValueError() # L
+ finally:
+ f = 23 # N
+ except ValueError: # O
+ g = 25 # P
+ return a, f, g, i # Q
+
+ assert func('break') == (11, 23, 2, 0) # S
+ assert func('continue') == (14, 23, 2, 3) # T
+ assert func('return') == (17, 2, 2, 0) # U
+ assert func('raise') == (20, 23, 25, 0) # V
+ """,
+ arcz=
+ ".1 1S ST TU UV V. "
+ ".2 23 34 45 56 6A 78 8N 4Q "
+ "AB BC CN AD DE EF FN DG GH HI IN GJ JK KL LN JN "
+ "NQ N4 N. NO "
+ "OP PQ Q.",
+ arcz_missing="78 8N JN",
+ arcz_unpredicted="",
+ )
+
class YieldTest(CoverageTest):
"""Arc tests for generators."""
@@ -575,8 +873,7 @@ class YieldTest(CoverageTest):
list(gen([1,2,3]))
""",
arcz=".1 .2 23 2. 32 15 5.",
- arcz_missing="",
- arcz_unpredicted="")
+ )
def test_padded_yield_in_loop(self):
self.check_coverage("""\
@@ -591,8 +888,7 @@ class YieldTest(CoverageTest):
list(gen([1,2,3]))
""",
arcz=".1 19 9. .2 23 34 45 56 63 37 7.",
- arcz_missing="",
- arcz_unpredicted="")
+ )
def test_bug_308(self):
self.check_coverage("""\
@@ -604,8 +900,7 @@ class YieldTest(CoverageTest):
print(f())
""",
arcz=".1 15 56 65 5. .2 23 32 2. .3 3-3",
- arcz_missing="",
- arcz_unpredicted="")
+ )
self.check_coverage("""\
def run():
@@ -617,8 +912,7 @@ class YieldTest(CoverageTest):
print(f())
""",
arcz=".1 16 67 76 6. .2 23 34 43 3. 2-2 .4 4-4",
- arcz_missing="",
- arcz_unpredicted="")
+ )
self.check_coverage("""\
def run():
@@ -628,8 +922,7 @@ class YieldTest(CoverageTest):
print(f())
""",
arcz=".1 14 45 54 4. .2 2. 2-2",
- arcz_missing="",
- arcz_unpredicted="")
+ )
def test_bug_324(self):
# This code is tricky: the list() call pulls all the values from gen(),
@@ -647,12 +940,12 @@ class YieldTest(CoverageTest):
".2 23 32 2. " # The gen() function
".3 3-3", # The generator expression
arcz_missing=".3 3-3",
- arcz_unpredicted="")
+ )
def test_coroutines(self):
self.check_coverage("""\
def double_inputs():
- while [1]: # avoid compiler differences
+ while len([1]): # avoid compiler differences
x = yield
x *= 2
yield x
@@ -667,9 +960,27 @@ class YieldTest(CoverageTest):
".1 17 78 89 9A AB B. "
".2 23 34 45 52 2.",
arcz_missing="2.",
- arcz_unpredicted="")
+ )
self.assertEqual(self.stdout(), "20\n12\n")
+ def test_yield_from(self):
+ if env.PYVERSION < (3, 3):
+ self.skip("Python before 3.3 doesn't have 'yield from'")
+ self.check_coverage("""\
+ def gen(inp):
+ i = 2
+ for n in inp:
+ i = 4
+ yield from range(3)
+ i = 6
+ i = 7
+
+ list(gen([1,2,3]))
+ """,
+ arcz=".1 19 9. .2 23 34 45 56 63 37 7.",
+ arcz_unpredicted="5.",
+ )
+
class MiscArcTest(CoverageTest):
"""Miscellaneous arc-measuring tests."""
@@ -691,29 +1002,285 @@ class MiscArcTest(CoverageTest):
}
assert d
""",
- arcz=arcz)
+ arcz=arcz,
+ )
+ self.check_coverage("""\
+ d = \\
+ { 'a': 2,
+ 'b': 3,
+ 'c': {
+ 'd': 5,
+ 'e': 6,
+ }
+ }
+ assert d
+ """,
+ arcz=".1 19 9-2",
+ )
def test_pathologically_long_code_object(self):
# https://bitbucket.org/ned/coveragepy/issue/359
- # The structure of this file is such that an EXTENDED_ARG byte code is
+ # The structure of this file is such that an EXTENDED_ARG bytecode is
# needed to encode the jump at the end. We weren't interpreting those
# opcodes.
+ # Note that we no longer interpret bytecode at all, but it couldn't
+ # hurt to keep the test...
code = """\
data = [
""" + "".join("""\
- [{i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}],
+ [
+ {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}, {i}],
""".format(i=i) for i in range(2000)
) + """\
]
- if __name__ == "__main__":
- print(len(data))
+ print(len(data))
"""
self.check_coverage(
code,
- arcs=[(-1, 1), (1, 2004), (2004, -2), (2004, 2005), (2005, -2)],
+ arcs=[(-1, 1), (1, 4004), (4004, -3)],
+ arcs_missing=[], arcs_unpredicted=[],
)
+ def test_optimized_away_lines(self):
+ self.check_coverage("""\
+ a = 1
+ if len([2]):
+ c = 3
+ if 0: # this line isn't in the compiled code.
+ if len([5]):
+ d = 6
+ e = 7
+ """,
+ lines=[1, 2, 3, 7],
+ arcz=".1 12 23 27 37 7.",
+ arcz_missing="27",
+ )
+
+
+class DecoratorArcTest(CoverageTest):
+ """Tests of arcs with decorators."""
+
+ def test_function_decorator(self):
+ self.check_coverage("""\
+ def decorator(arg):
+ def _dec(f):
+ return f
+ return _dec
+
+ @decorator(6)
+ @decorator(
+ len([8]),
+ )
+ def my_function(
+ a=len([11]),
+ ):
+ x = 13
+ a = 14
+ my_function()
+ """,
+ arcz=
+ ".1 16 67 7A AE EF F. " # main line
+ ".2 24 4. .3 3-2 " # decorators
+ ".D D-6 ", # my_function
+ )
+
+ def test_class_decorator(self):
+ self.check_coverage("""\
+ def decorator(arg):
+ def _dec(c):
+ return c
+ return _dec
+
+ @decorator(6)
+ @decorator(
+ len([8]),
+ )
+ class MyObject(
+ object
+ ):
+ X = 13
+ a = 14
+ """,
+ arcz=
+ ".1 16 67 6D 7A AE E. " # main line
+ ".2 24 4. .3 3-2 " # decorators
+ ".6 D-6 ", # MyObject
+ )
+
+ def test_bug_466(self):
+ # A bad interaction between decorators and multi-line list assignments,
+ # believe it or not...!
+ self.check_coverage("""\
+ class Parser(object):
+
+ @classmethod
+ def parse(cls):
+ formats = [ 5 ]
+
+
+ return None
+
+ Parser.parse()
+ """,
+ arcz=".1 1A A. 13 3. .5 58 8-3",
+ )
+ self.check_coverage("""\
+ class Parser(object):
+
+ @classmethod
+ def parse(cls):
+ formats = [
+ 6,
+ ]
+ return None
+
+ Parser.parse()
+ """,
+ arcz=".1 1A A. 13 3. .5 58 8-3",
+ )
+
+
+class LambdaArcTest(CoverageTest):
+ """Tests of lambdas"""
+
+ def test_multiline_lambda(self):
+ self.check_coverage("""\
+ fn = (lambda x:
+ x + 2
+ )
+ assert fn(4) == 6
+ """,
+ arcz=".1 14 4-1 1-1",
+ )
+ self.check_coverage("""\
+
+ fn = \\
+ (
+ lambda
+ x:
+ x
+ +
+ 8
+ )
+ assert fn(10) == 18
+ """,
+ arcz=".2 2A A-4 2-4",
+ )
+
+ def test_unused_lambdas_are_confusing_bug_90(self):
+ self.check_coverage("""\
+ a = 1
+ fn = lambda x: x
+ b = 3
+ """,
+ arcz=".1 12 .2 2-2 23 3.", arcz_missing=".2 2-2",
+ )
+
+ def test_raise_with_lambda_looks_like_partial_branch(self):
+ self.check_coverage("""\
+ def ouch(fn):
+ 2/0
+ a = b = c = d = 3
+ try:
+ a = ouch(lambda: 5)
+ if a:
+ b = 7
+ except ZeroDivisionError:
+ c = 9
+ d = 10
+ assert (a, b, c, d) == (3, 3, 9, 10)
+ """,
+ lines=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
+ missing="6-7",
+ arcz=".1 13 34 45 56 67 6A 7A 89 9A AB B. .2 2. .5 5-5",
+ arcz_missing="56 67 6A 7A .5 5-5",
+ arcz_unpredicted="58",
+ )
+
+
+class AsyncTest(CoverageTest):
+ """Tests of the new async and await keywords in Python 3.5"""
+
+ def setUp(self):
+ if env.PYVERSION < (3, 5):
+ self.skip("Async features are new in Python 3.5")
+ super(AsyncTest, self).setUp()
+
+ def test_async(self):
+ self.check_coverage("""\
+ import asyncio
+
+ async def compute(x, y): # 3
+ print("Compute %s + %s ..." % (x, y))
+ await asyncio.sleep(0.001)
+ return x + y # 6
+
+ async def print_sum(x, y): # 8
+ result = (0 +
+ await compute(x, y) # A
+ )
+ print("%s + %s = %s" % (x, y, result))
+
+ loop = asyncio.get_event_loop() # E
+ loop.run_until_complete(print_sum(1, 2))
+ loop.close() # G
+ """,
+ arcz=
+ ".1 13 38 8E EF FG G. "
+ ".4 45 56 6-3 "
+ ".9 9C C-8",
+ arcz_unpredicted="5-3 9-8",
+ )
+ self.assertEqual(self.stdout(), "Compute 1 + 2 ...\n1 + 2 = 3\n")
+
+ def test_async_for(self):
+ self.check_coverage("""\
+ import asyncio
+
+ class AsyncIteratorWrapper: # 3
+ def __init__(self, obj): # 4
+ self._it = iter(obj)
+
+ async def __aiter__(self): # 7
+ return self
+
+ async def __anext__(self): # A
+ try:
+ return next(self._it)
+ except StopIteration:
+ raise StopAsyncIteration
+
+ async def doit(): # G
+ async for letter in AsyncIteratorWrapper("abc"):
+ print(letter)
+ print(".")
+
+ loop = asyncio.get_event_loop() # L
+ loop.run_until_complete(doit())
+ loop.close()
+ """,
+ arcz=
+ ".1 13 3G GL LM MN N. " # module main line
+ ".3 34 47 7A A-3 " # class definition
+ ".H HI IH HJ J-G " # doit
+ ".5 5-4 " # __init__
+ ".8 8-7 " # __aiter__
+ ".B BC C-A DE E-A ", # __anext__
+ arcz_unpredicted="CD",
+ )
+ self.assertEqual(self.stdout(), "a\nb\nc\n.\n")
+
+ def test_async_with(self):
+ self.check_coverage("""\
+ async def go():
+ async with x:
+ pass
+ """,
+ arcz=".1 1. .2 23 3.",
+ arcz_missing=".2 23 3.",
+ )
+
class ExcludeTest(CoverageTest):
"""Tests of exclusions to indicate known partial branches."""
@@ -732,7 +1299,8 @@ class ExcludeTest(CoverageTest):
f = 9
""",
[1,2,3,4,5,6,7,8,9],
- arcz=".1 12 23 24 34 45 56 57 67 78 89 9. 8.", arcz_missing="")
+ arcz=".1 12 23 24 34 45 56 57 67 78 89 9. 8.",
+ )
def test_custom_pragmas(self):
self.check_coverage("""\
@@ -744,7 +1312,8 @@ class ExcludeTest(CoverageTest):
""",
[1,2,3,4,5],
partials=["only some"],
- arcz=".1 12 23 34 45 25 5.", arcz_missing="")
+ arcz=".1 12 23 34 45 25 5.",
+ )
class LineDataTest(CoverageTest):
diff --git a/tests/test_backward.py b/tests/test_backward.py
index fbb9ad8b..bbecb780 100644
--- a/tests/test_backward.py
+++ b/tests/test_backward.py
@@ -4,7 +4,7 @@
"""Tests that our version shims in backward.py are working."""
from coverage.backunittest import TestCase
-from coverage.backward import iitems, binary_bytes, byte_to_int, bytes_to_ints
+from coverage.backward import iitems, binary_bytes, bytes_to_ints
class BackwardTest(TestCase):
@@ -20,4 +20,3 @@ class BackwardTest(TestCase):
bb = binary_bytes(byte_values)
self.assertEqual(len(bb), len(byte_values))
self.assertEqual(byte_values, list(bytes_to_ints(bb)))
- self.assertEqual(byte_values, [byte_to_int(b) for b in bb])
diff --git a/tests/test_concurrency.py b/tests/test_concurrency.py
index c6d750d0..04eb9853 100644
--- a/tests/test_concurrency.py
+++ b/tests/test_concurrency.py
@@ -3,6 +3,7 @@
"""Tests for concurrency libraries."""
+import multiprocessing
import threading
import coverage
@@ -222,18 +223,12 @@ class ConcurrencyTest(CoverageTest):
class MultiprocessingTest(CoverageTest):
"""Test support of the multiprocessing module."""
- def setUp(self):
- super(MultiprocessingTest, self).setUp()
- # Currently, this doesn't work on Windows, something about pickling
- # the monkey-patched Process class?
- if env.WINDOWS:
- self.skip("Multiprocessing support doesn't work on Windows")
-
def test_multiprocessing(self):
self.make_file("multi.py", """\
import multiprocessing
import os
import time
+ import sys
def func(x):
# Need to pause, or the tasks go too quick, and some processes
@@ -247,6 +242,7 @@ class MultiprocessingTest(CoverageTest):
return os.getpid(), y
if __name__ == "__main__":
+ if len(sys.argv) > 1: multiprocessing.set_start_method(sys.argv[1])
pool = multiprocessing.Pool(3)
inputs = range(30)
outputs = pool.imap_unordered(func, inputs)
@@ -260,16 +256,25 @@ class MultiprocessingTest(CoverageTest):
pool.join()
""")
- out = self.run_command(
- "coverage run --concurrency=multiprocessing multi.py"
- )
- total = sum(x*x if x%2 else x*x*x for x in range(30))
- self.assertEqual(out.rstrip(), "3 pids, total = %d" % total)
+ if env.PYVERSION >= (3, 4):
+ start_methods = ['fork', 'spawn']
+ else:
+ start_methods = ['']
+
+ for start_method in start_methods:
+ if start_method and start_method not in multiprocessing.get_all_start_methods():
+ continue
+
+ out = self.run_command(
+ "coverage run --concurrency=multiprocessing multi.py %s" % start_method
+ )
+ total = sum(x*x if x%2 else x*x*x for x in range(30))
+ self.assertEqual(out.rstrip(), "3 pids, total = %d" % total)
- self.run_command("coverage combine")
- out = self.run_command("coverage report -m")
- last_line = self.squeezed_lines(out)[-1]
- self.assertEqual(last_line, "multi.py 21 0 100%")
+ self.run_command("coverage combine")
+ out = self.run_command("coverage report -m")
+ last_line = self.squeezed_lines(out)[-1]
+ self.assertEqual(last_line, "multi.py 23 0 100%")
def print_simple_annotation(code, linenos):
diff --git a/tests/test_config.py b/tests/test_config.py
index 93a7bbf6..5667e930 100644
--- a/tests/test_config.py
+++ b/tests/test_config.py
@@ -379,11 +379,18 @@ class ConfigFileTest(CoverageTest):
def test_non_ascii(self):
self.make_file(".coveragerc", """\
+ [report]
+ exclude_lines =
+ first
+ ✘${TOX_ENVNAME}
+ third
[html]
title = tabblo & «ταБЬℓσ» # numbers
""")
+ self.set_environ("TOX_ENVNAME", "weirdo")
cov = coverage.Coverage()
+ self.assertEqual(cov.config.exclude_list, ["first", "✘weirdo", "third"])
self.assertEqual(cov.config.html_title, "tabblo & «ταБЬℓσ» # numbers")
def test_unreadable_config(self):
diff --git a/tests/test_coverage.py b/tests/test_coverage.py
index 9e2a444c..dd47707c 100644
--- a/tests/test_coverage.py
+++ b/tests/test_coverage.py
@@ -1,3 +1,4 @@
+# coding: utf-8
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
@@ -100,7 +101,7 @@ class BasicCoverageTest(CoverageTest):
# Nothing here
d = 6
""",
- [1,2,4,6], report="4 0 100%")
+ [1,2,4,6], report="4 0 0 0 100%")
def test_indentation_wackiness(self):
# Partial final lines are OK.
@@ -108,7 +109,7 @@ class BasicCoverageTest(CoverageTest):
import sys
if not sys.path:
a = 1
- """,
+ """, # indented last line
[1,2,3], "3")
def test_multiline_initializer(self):
@@ -197,6 +198,21 @@ class SimpleStatementTest(CoverageTest):
""",
[1,2,3], "")
+ def test_more_assignments(self):
+ self.check_coverage("""\
+ x = []
+ d = {}
+ d[
+ 4 + len(x)
+ + 5
+ ] = \\
+ d[
+ 8 ** 2
+ ] = \\
+ 9
+ """,
+ [1, 2, 3], "")
+
def test_attribute_assignment(self):
# Attribute assignment
self.check_coverage("""\
@@ -402,35 +418,35 @@ class SimpleStatementTest(CoverageTest):
""",
[1,2,3,4,5], "4")
- if 0: # expected failure
+ def test_strange_unexecuted_continue(self):
# Peephole optimization of jumps to jumps can mean that some statements
# never hit the line tracer. The behavior is different in different
# versions of Python, so don't run this test:
- def test_strange_unexecuted_continue(self):
- self.check_coverage("""\
- a = b = c = 0
- for n in range(100):
- if n % 2:
- if n % 4:
- a += 1
- continue # <-- This line may not be hit.
- else:
- b += 1
- c += 1
- assert a == 50 and b == 50 and c == 50
-
- a = b = c = 0
- for n in range(100):
- if n % 2:
- if n % 3:
- a += 1
- continue # <-- This line is always hit.
- else:
- b += 1
- c += 1
- assert a == 33 and b == 50 and c == 50
- """,
- [1,2,3,4,5,6,8,9,10, 12,13,14,15,16,17,19,20,21], "")
+ self.skip("Expected failure: peephole optimization of jumps to jumps")
+ self.check_coverage("""\
+ a = b = c = 0
+ for n in range(100):
+ if n % 2:
+ if n % 4:
+ a += 1
+ continue # <-- This line may not be hit.
+ else:
+ b += 1
+ c += 1
+ assert a == 50 and b == 50 and c == 50
+
+ a = b = c = 0
+ for n in range(100):
+ if n % 2:
+ if n % 3:
+ a += 1
+ continue # <-- This line is always hit.
+ else:
+ b += 1
+ c += 1
+ assert a == 33 and b == 50 and c == 50
+ """,
+ [1,2,3,4,5,6,8,9,10, 12,13,14,15,16,17,19,20,21], "")
def test_import(self):
self.check_coverage("""\
@@ -549,6 +565,15 @@ class SimpleStatementTest(CoverageTest):
""",
([1,3,6,7], [1,3,5,6,7], [1,3,4,5,6,7]), "")
+ def test_nonascii(self):
+ self.check_coverage("""\
+ # coding: utf8
+ a = 2
+ b = 3
+ """,
+ [2, 3]
+ )
+
class CompoundStatementTest(CoverageTest):
"""Testing coverage of multi-line compound statements."""
@@ -617,7 +642,8 @@ class CompoundStatementTest(CoverageTest):
z = 7
assert x == 3
""",
- [1,2,3,4,5,7,8], "4-7", report="7 3 57% 4-7")
+ [1,2,3,4,5,7,8], "4-7", report="7 3 4 1 45% 4-7, 2->4",
+ )
self.check_coverage("""\
a = 1; b = 2; c = 3;
if a != 1:
@@ -628,7 +654,8 @@ class CompoundStatementTest(CoverageTest):
z = 7
assert y == 5
""",
- [1,2,3,4,5,7,8], "3, 7", report="7 2 71% 3, 7")
+ [1,2,3,4,5,7,8], "3, 7", report="7 2 4 2 64% 3, 7, 2->3, 4->7",
+ )
self.check_coverage("""\
a = 1; b = 2; c = 3;
if a != 1:
@@ -639,7 +666,8 @@ class CompoundStatementTest(CoverageTest):
z = 7
assert z == 7
""",
- [1,2,3,4,5,7,8], "3, 5", report="7 2 71% 3, 5")
+ [1,2,3,4,5,7,8], "3, 5", report="7 2 4 2 64% 3, 5, 2->3, 4->5",
+ )
def test_elif_no_else(self):
self.check_coverage("""\
@@ -650,7 +678,8 @@ class CompoundStatementTest(CoverageTest):
y = 5
assert x == 3
""",
- [1,2,3,4,5,6], "4-5", report="6 2 67% 4-5")
+ [1,2,3,4,5,6], "4-5", report="6 2 4 1 50% 4-5, 2->4",
+ )
self.check_coverage("""\
a = 1; b = 2; c = 3;
if a != 1:
@@ -659,7 +688,8 @@ class CompoundStatementTest(CoverageTest):
y = 5
assert y == 5
""",
- [1,2,3,4,5,6], "3", report="6 1 83% 3")
+ [1,2,3,4,5,6], "3", report="6 1 4 2 70% 3, 2->3, 4->6",
+ )
def test_elif_bizarre(self):
self.check_coverage("""\
@@ -1007,7 +1037,10 @@ class CompoundStatementTest(CoverageTest):
a = 123
assert a == 123
""",
- [1,2,3,4,5,7,8], "4-5")
+ [1,2,3,4,5,7,8], "4-5",
+ arcz=".1 12 23 45 58 37 78 8.",
+ arcz_missing="45 58",
+ )
self.check_coverage("""\
a = 0
try:
@@ -1019,7 +1052,10 @@ class CompoundStatementTest(CoverageTest):
a = 123
assert a == 99
""",
- [1,2,3,4,5,6,8,9], "8")
+ [1,2,3,4,5,6,8,9], "8",
+ arcz=".1 12 23 34 45 56 69 89 9.",
+ arcz_missing="89",
+ )
def test_try_finally(self):
self.check_coverage("""\
@@ -1104,7 +1140,9 @@ class CompoundStatementTest(CoverageTest):
x = theClass().foo()
assert x == 1
""",
- [2,6,8,10,11,13,14], "")
+ [2, 6, 8, 10, 11, 13, 14], "",
+ arcz=".2 2D DE E-2 23 36 6A A-2 .8 8-6 .B B-A",
+ )
class ExcludeTest(CoverageTest):
@@ -1128,7 +1166,7 @@ class ExcludeTest(CoverageTest):
self.check_coverage("""\
a = 1; b = 2
- if 0:
+ if len([]):
a = 4 # -cc
""",
[1,3], "", excludes=['-cc'])
@@ -1149,19 +1187,19 @@ class ExcludeTest(CoverageTest):
self.check_coverage("""\
a = 1; b = 2
- if 0:
+ if len([]): # not-here
a = 4
b = 5
c = 6
assert a == 1 and b == 2
""",
- [1,7], "", excludes=['if 0:'])
+ [1,7], "", excludes=['not-here'])
def test_excluding_if_but_not_else_suite(self):
self.check_coverage("""\
a = 1; b = 2
- if 0:
+ if len([]): # not-here
a = 4
b = 5
c = 6
@@ -1170,7 +1208,7 @@ class ExcludeTest(CoverageTest):
b = 9
assert a == 8 and b == 9
""",
- [1,8,9,10], "", excludes=['if 0:'])
+ [1,8,9,10], "", excludes=['not-here'])
def test_excluding_else_suite(self):
self.check_coverage("""\
@@ -1229,7 +1267,7 @@ class ExcludeTest(CoverageTest):
self.check_coverage("""\
def foo():
a = 2
- if 0: x = 3 # no cover
+ if len([]): x = 3 # no cover
b = 4
foo()
@@ -1365,7 +1403,10 @@ class ExcludeTest(CoverageTest):
a = 123
assert a == 123
""",
- [1,2,3,7,8], "", excludes=['#pragma: NO COVER'])
+ [1,2,3,7,8], "", excludes=['#pragma: NO COVER'],
+ arcz=".1 12 23 37 45 58 78 8.",
+ arcz_missing="45 58",
+ )
self.check_coverage("""\
a = 0
try:
@@ -1377,7 +1418,10 @@ class ExcludeTest(CoverageTest):
a = 123
assert a == 99
""",
- [1,2,3,4,5,6,9], "", excludes=['#pragma: NO COVER'])
+ [1,2,3,4,5,6,9], "", excludes=['#pragma: NO COVER'],
+ arcz=".1 12 23 34 45 56 69 89 9.",
+ arcz_missing="89",
+ )
def test_excluding_try_except_pass(self):
self.check_coverage("""\
@@ -1411,7 +1455,10 @@ class ExcludeTest(CoverageTest):
a = 123
assert a == 123
""",
- [1,2,3,7,8], "", excludes=['#pragma: NO COVER'])
+ [1,2,3,7,8], "", excludes=['#pragma: NO COVER'],
+ arcz=".1 12 23 37 45 58 78 8.",
+ arcz_missing="45 58",
+ )
self.check_coverage("""\
a = 0
try:
@@ -1423,7 +1470,10 @@ class ExcludeTest(CoverageTest):
x = 2
assert a == 99
""",
- [1,2,3,4,5,6,9], "", excludes=['#pragma: NO COVER'])
+ [1,2,3,4,5,6,9], "", excludes=['#pragma: NO COVER'],
+ arcz=".1 12 23 34 45 56 69 89 9.",
+ arcz_missing="89",
+ )
def test_excluding_if_pass(self):
# From a comment on the coverage.py page by Michael McNeil Forbes:
@@ -1478,6 +1528,33 @@ class ExcludeTest(CoverageTest):
""",
[8,9], "", excludes=['#pragma: NO COVER'])
+ def test_excludes_non_ascii(self):
+ self.check_coverage("""\
+ # coding: utf-8
+ a = 1; b = 2
+
+ if len([]):
+ a = 5 # ✘cover
+ """,
+ [2, 4], "", excludes=['✘cover']
+ )
+
+ def test_formfeed(self):
+ # https://bitbucket.org/ned/coveragepy/issues/461/multiline-asserts-need-too-many-pragma
+ self.check_coverage("""\
+ x = 1
+ assert len([]) == 0, (
+ "This won't happen %s" % ("hello",)
+ )
+ \f
+ x = 6
+ assert len([]) == 0, (
+ "This won't happen %s" % ("hello",)
+ )
+ """,
+ [1, 6], "", excludes=['assert'],
+ )
+
class Py24Test(CoverageTest):
"""Tests of new syntax in Python 2.4."""
@@ -1586,7 +1663,9 @@ class Py25Test(CoverageTest):
b = 2
assert a == 1 and b == 2
""",
- [1,2,3,4,5,7,8], "4-5")
+ [1,2,3,4,5,7,8], "4-5",
+ arcz=".1 12 23 37 45 57 78 8.", arcz_missing="45 57",
+ )
self.check_coverage("""\
a = 0; b = 0
try:
@@ -1598,7 +1677,9 @@ class Py25Test(CoverageTest):
b = 2
assert a == 99 and b == 2
""",
- [1,2,3,4,5,6,8,9], "")
+ [1,2,3,4,5,6,8,9], "",
+ arcz=".1 12 23 34 45 56 68 89 9.",
+ )
self.check_coverage("""\
a = 0; b = 0
try:
@@ -1612,7 +1693,9 @@ class Py25Test(CoverageTest):
b = 2
assert a == 123 and b == 2
""",
- [1,2,3,4,5,6,7,8,10,11], "6")
+ [1,2,3,4,5,6,7,8,10,11], "6",
+ arcz=".1 12 23 34 45 56 57 78 6A 8A AB B.", arcz_missing="56 6A",
+ )
self.check_coverage("""\
a = 0; b = 0
try:
@@ -1628,7 +1711,10 @@ class Py25Test(CoverageTest):
b = 2
assert a == 17 and b == 2
""",
- [1,2,3,4,5,6,7,8,9,10,12,13], "6, 9-10")
+ [1,2,3,4,5,6,7,8,9,10,12,13], "6, 9-10",
+ arcz=".1 12 23 34 45 56 6C 57 78 8C 79 9A AC CD D.",
+ arcz_missing="56 6C 79 9A AC",
+ )
self.check_coverage("""\
a = 0; b = 0
try:
@@ -1641,7 +1727,10 @@ class Py25Test(CoverageTest):
b = 2
assert a == 123 and b == 2
""",
- [1,2,3,4,5,7,9,10], "4-5")
+ [1,2,3,4,5,7,9,10], "4-5",
+ arcz=".1 12 23 37 45 59 79 9A A.",
+ arcz_missing="45 59",
+ )
self.check_coverage("""\
a = 0; b = 0
try:
@@ -1655,7 +1744,10 @@ class Py25Test(CoverageTest):
b = 2
assert a == 99 and b == 2
""",
- [1,2,3,4,5,6,8,10,11], "8")
+ [1,2,3,4,5,6,8,10,11], "8",
+ arcz=".1 12 23 34 45 56 6A 8A AB B.",
+ arcz_missing="8A",
+ )
class ModuleTest(CoverageTest):
diff --git a/tests/test_parser.py b/tests/test_parser.py
index 84b9a214..470ea156 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -72,7 +72,7 @@ class PythonParserTest(CoverageTest):
b = 9
""")
self.assertEqual(parser.exit_counts(), {
- 1: 1, 2:1, 3:1, 4:1, 5:1, 6:1, 7:1, 8:1, 9:1
+ 1: 1, 2:1, 3:2, 4:1, 5:2, 6:1, 7:1, 8:1, 9:1
})
def test_excluded_classes(self):
@@ -81,7 +81,7 @@ class PythonParserTest(CoverageTest):
def __init__(self):
pass
- if 0: # nocover
+ if len([]): # nocover
class Bar:
pass
""")
@@ -136,15 +136,63 @@ class PythonParserTest(CoverageTest):
'''
""")
+ def test_decorator_pragmas(self):
+ parser = self.parse_source("""\
+ # 1
+
+ @foo(3) # nocover
+ @bar
+ def func(x, y=5):
+ return 6
+
+ class Foo: # this is the only statement.
+ '''9'''
+ @foo # nocover
+ def __init__(self):
+ '''12'''
+ return 13
+
+ @foo( # nocover
+ 16,
+ 17,
+ )
+ def meth(self):
+ return 20
+
+ @foo( # nocover
+ 23
+ )
+ def func(x=25):
+ return 26
+ """)
+ self.assertEqual(
+ parser.raw_statements,
+ set([3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 20, 22, 23, 25, 26])
+ )
+ self.assertEqual(parser.statements, set([8]))
+
+ def test_class_decorator_pragmas(self):
+ parser = self.parse_source("""\
+ class Foo(object):
+ def __init__(self):
+ self.x = 3
+
+ @foo # nocover
+ class Bar(object):
+ def __init__(self):
+ self.x = 8
+ """)
+ self.assertEqual(parser.raw_statements, set([1, 2, 3, 5, 6, 7, 8]))
+ self.assertEqual(parser.statements, set([1, 2, 3]))
+
class ParserFileTest(CoverageTest):
"""Tests for coverage.py's code parsing from files."""
def parse_file(self, filename):
"""Parse `text` as source, and return the `PythonParser` used."""
- # pylint: disable=attribute-defined-outside-init
parser = PythonParser(filename=filename, exclude="nocover")
- self.statements, self.excluded = parser.parse_source()
+ parser.parse_source()
return parser
def test_line_endings(self):
@@ -191,8 +239,8 @@ class ParserFileTest(CoverageTest):
stderr=subprocess.PIPE).communicate()
""")
- self.parse_file("normal.py")
- self.assertEqual(self.statements, set([1]))
+ parser = self.parse_file("normal.py")
+ self.assertEqual(parser.statements, set([1]))
self.make_file("abrupt.py", """\
out, err = subprocess.Popen(
@@ -204,5 +252,5 @@ class ParserFileTest(CoverageTest):
with open("abrupt.py") as f:
self.assertEqual(f.read()[-1], ")")
- self.parse_file("abrupt.py")
- self.assertEqual(self.statements, set([1]))
+ parser = self.parse_file("abrupt.py")
+ self.assertEqual(parser.statements, set([1]))
diff --git a/tests/test_phystokens.py b/tests/test_phystokens.py
index 7bdece72..0bbf8ea2 100644
--- a/tests/test_phystokens.py
+++ b/tests/test_phystokens.py
@@ -97,11 +97,13 @@ else:
ENCODING_DECLARATION_SOURCES = [
# Various forms from http://www.python.org/dev/peps/pep-0263/
- b"# coding=cp850\n\n",
- b"#!/usr/bin/python\n# -*- coding: cp850 -*-\n",
- b"#!/usr/bin/python\n# vim: set fileencoding=cp850:\n",
- b"# This Python file uses this encoding: cp850\n",
- b"# This file uses a different encoding:\n# coding: cp850\n",
+ (1, b"# coding=cp850\n\n"),
+ (1, b"#!/usr/bin/python\n# -*- coding: cp850 -*-\n"),
+ (1, b"#!/usr/bin/python\n# vim: set fileencoding=cp850:\n"),
+ (1, b"# This Python file uses this encoding: cp850\n"),
+ (1, b"# This file uses a different encoding:\n# coding: cp850\n"),
+ (1, b"\n# coding=cp850\n\n"),
+ (2, b"# -*- coding:cp850 -*-\n# vim: fileencoding=cp850\n"),
]
class SourceEncodingTest(CoverageTest):
@@ -110,7 +112,7 @@ class SourceEncodingTest(CoverageTest):
run_in_temp_dir = False
def test_detect_source_encoding(self):
- for source in ENCODING_DECLARATION_SOURCES:
+ for _, source in ENCODING_DECLARATION_SOURCES:
self.assertEqual(
source_encoding(source),
'cp850',
@@ -126,11 +128,6 @@ class SourceEncodingTest(CoverageTest):
source = b'def parse(src, encoding=None):\n pass'
self.assertEqual(source_encoding(source), DEF_ENCODING)
- def test_detect_source_encoding_on_second_line(self):
- # A coding declaration should be found despite a first blank line.
- source = b"\n# coding=cp850\n\n"
- self.assertEqual(source_encoding(source), 'cp850')
-
def test_dont_detect_source_encoding_on_third_line(self):
# A coding declaration doesn't count on the third line.
source = b"\n\n# coding=cp850\n\n"
@@ -157,9 +154,23 @@ class NeuterEncodingDeclarationTest(CoverageTest):
run_in_temp_dir = False
def test_neuter_encoding_declaration(self):
- for source in ENCODING_DECLARATION_SOURCES:
+ for lines_diff_expected, source in ENCODING_DECLARATION_SOURCES:
neutered = neuter_encoding_declaration(source.decode("ascii"))
neutered = neutered.encode("ascii")
+
+ # The neutered source should have the same number of lines.
+ source_lines = source.splitlines()
+ neutered_lines = neutered.splitlines()
+ self.assertEqual(len(source_lines), len(neutered_lines))
+
+ # Only one of the lines should be different.
+ lines_different = sum(
+ int(nline != sline) for nline, sline in zip(neutered_lines, source_lines)
+ )
+ self.assertEqual(lines_diff_expected, lines_different)
+
+ # The neutered source will be detected as having no encoding
+ # declaration.
self.assertEqual(
source_encoding(neutered),
DEF_ENCODING,
@@ -172,6 +183,21 @@ class CompileUnicodeTest(CoverageTest):
run_in_temp_dir = False
+ def assert_compile_unicode(self, source):
+ """Assert that `source` will compile properly with `compile_unicode`."""
+ source += u"a = 42\n"
+ # This doesn't raise an exception:
+ code = compile_unicode(source, "<string>", "exec")
+ globs = {}
+ exec(code, globs)
+ self.assertEqual(globs['a'], 42)
+
def test_cp1252(self):
uni = u"""# coding: cp1252\n# \u201C curly \u201D\n"""
- compile_unicode(uni, "<string>", "exec")
+ self.assert_compile_unicode(uni)
+
+ def test_double_coding_declaration(self):
+ # Build this string in a weird way so that actual vim's won't try to
+ # interpret it...
+ uni = u"# -*- coding:utf-8 -*-\n# v" "im: fileencoding=utf-8\n"
+ self.assert_compile_unicode(uni)
diff --git a/tests/test_plugins.py b/tests/test_plugins.py
index 54f26a7f..2129076a 100644
--- a/tests/test_plugins.py
+++ b/tests/test_plugins.py
@@ -416,7 +416,7 @@ class GoodPluginTest(FileTracerTest):
'bar_4.html 4 2 0 0 50% 1, 4',
'foo_7.html 7 5 0 0 29% 1-3, 6-7',
'--------------------------------------------------------',
- 'TOTAL 11 7 0 0 36% ',
+ 'TOTAL 11 7 0 0 36%',
]
self.assertEqual(report, expected)
self.assertAlmostEqual(total, 36.36, places=2)
diff --git a/tests/test_process.py b/tests/test_process.py
index a69fd356..55dc3b13 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -757,6 +757,17 @@ class AliasedCommandTest(CoverageTest):
out = self.run_command(cmd)
self.assertIn("Code coverage for Python", out)
+ def test_aliases_used_in_messages(self):
+ cmds = [
+ "coverage",
+ "coverage%d" % sys.version_info[0],
+ "coverage-%d.%d" % sys.version_info[:2],
+ ]
+ for cmd in cmds:
+ out = self.run_command("%s foobar" % cmd)
+ self.assertIn("Unknown command: 'foobar'", out)
+ self.assertIn("Use '%s help' for help" % cmd, out)
+
class PydocTest(CoverageTest):
"""Test that pydoc can get our information."""
diff --git a/tests/test_summary.py b/tests/test_summary.py
index 56c0b831..0cb9c24b 100644
--- a/tests/test_summary.py
+++ b/tests/test_summary.py
@@ -218,28 +218,17 @@ class SummaryTest(CoverageTest):
out = self.run_command("coverage run --branch main.py")
self.assertEqual(out, 'x\ny\n')
report = self.report_from_command("coverage report --show-missing")
-
- # Name Stmts Miss Branch BrPart Cover Missing
- # -------------------------------------------------------
- # main.py 1 0 0 0 100%
- # mybranch.py 10 2 8 3 61% 7-8, 2->4, 4->6, 6->7
- # -------------------------------------------------------
- # TOTAL 11 2 8 3 63%
-
- self.assertEqual(self.line_count(report), 6)
- squeezed = self.squeezed_lines(report)
- self.assertEqual(
- squeezed[2],
- "main.py 1 0 0 0 100%"
- )
- self.assertEqual(
- squeezed[3],
- "mybranch.py 10 2 8 3 61% 7-8, 2->4, 4->6, 6->7"
- )
- self.assertEqual(
- squeezed[5],
- "TOTAL 11 2 8 3 63%"
- )
+ report_lines = report.splitlines()
+
+ expected = [
+ 'Name Stmts Miss Branch BrPart Cover Missing',
+ '---------------------------------------------------------',
+ 'main.py 1 0 0 0 100%',
+ 'mybranch.py 10 2 8 3 61% 7-8, 2->4, 4->6, 6->7',
+ '---------------------------------------------------------',
+ 'TOTAL 11 2 8 3 63%',
+ ]
+ self.assertEqual(report_lines, expected)
def test_report_skip_covered_no_branches(self):
self.make_file("main.py", """
@@ -607,7 +596,7 @@ class SummaryTest2(CoverageTest):
def test_empty_files(self):
# Shows that empty files like __init__.py are listed as having zero
# statements, not one statement.
- cov = coverage.Coverage()
+ cov = coverage.Coverage(branch=True)
cov.start()
import usepkgs # pragma: nested # pylint: disable=import-error,unused-variable
cov.stop() # pragma: nested
@@ -617,8 +606,8 @@ class SummaryTest2(CoverageTest):
report = repout.getvalue().replace('\\', '/')
report = re.sub(r"\s+", " ", report)
- self.assertIn("tests/modules/pkg1/__init__.py 2 0 100%", report)
- self.assertIn("tests/modules/pkg2/__init__.py 0 0 100%", report)
+ self.assertIn("tests/modules/pkg1/__init__.py 2 0 0 0 100%", report)
+ self.assertIn("tests/modules/pkg2/__init__.py 0 0 0 0 100%", report)
class ReportingReturnValueTest(CoverageTest):
diff --git a/tests/test_testing.py b/tests/test_testing.py
index 9fc7f11d..1dafdd0d 100644
--- a/tests/test_testing.py
+++ b/tests/test_testing.py
@@ -6,13 +6,15 @@
import datetime
import os
+import re
import sys
+import textwrap
import coverage
from coverage.backunittest import TestCase
from coverage.backward import to_bytes
from coverage.files import actual_path
-from coverage.test_helpers import EnvironmentAwareMixin, TempDirMixin
+from coverage.test_helpers import EnvironmentAwareMixin, TempDirMixin, DelayedAssertionMixin
from tests.coveragetest import CoverageTest
@@ -97,6 +99,45 @@ class EnvironmentAwareMixinTest(EnvironmentAwareMixin, TestCase):
self.assertNotIn("XYZZY_PLUGH", os.environ)
+class DelayedAssertionMixinTest(DelayedAssertionMixin, TestCase):
+ """Test the `delayed_assertions` method."""
+
+ def test_delayed_assertions(self):
+ # Two assertions can be shown at once:
+ msg = re.escape(textwrap.dedent("""\
+ 2 failed assertions:
+ 'x' != 'y'
+ - x
+ + y
+
+ 'w' != 'z'
+ - w
+ + z
+ """))
+ with self.assertRaisesRegex(AssertionError, msg):
+ with self.delayed_assertions():
+ self.assertEqual("x", "y")
+ self.assertEqual("w", "z")
+
+ # It's also OK if only one fails:
+ msg = re.escape(textwrap.dedent("""\
+ 'w' != 'z'
+ - w
+ + z
+ """))
+ with self.assertRaisesRegex(AssertionError, msg):
+ with self.delayed_assertions():
+ self.assertEqual("x", "x")
+ self.assertEqual("w", "z")
+
+ # If an error happens, it gets reported immediately, no special
+ # handling:
+ with self.assertRaises(ZeroDivisionError):
+ with self.delayed_assertions():
+ self.assertEqual("x", "y")
+ self.assertEqual("w", 1/0)
+
+
class CoverageTestTest(CoverageTest):
"""Test the methods in `CoverageTest`."""
diff --git a/tests/test_xml.py b/tests/test_xml.py
index 5a6437ef..357c4ead 100644
--- a/tests/test_xml.py
+++ b/tests/test_xml.py
@@ -4,9 +4,11 @@
"""Tests for XML reports from coverage.py."""
import os
+import os.path
import re
import coverage
+from coverage.files import abs_file
from tests.coveragetest import CoverageTest
from tests.goldtest import CoverageGoldTest
@@ -141,6 +143,47 @@ class XmlReportTest(XmlTestHelpers, CoverageTest):
init_line = re_line(xml, 'filename="sub/__init__.py"')
self.assertIn('line-rate="1"', init_line)
+ def assert_source(self, xml, src):
+ """Assert that the XML has a <source> element with `src`."""
+ src = abs_file(src)
+ self.assertRegex(xml, r'<source>\s*{0}\s*</source>'.format(re.escape(src)))
+
+ def test_curdir_source(self):
+ # With no source= option, the XML report should explain that the source
+ # is in the current directory.
+ cov = self.run_doit()
+ cov.xml_report(outfile="-")
+ xml = self.stdout()
+ self.assert_source(xml, ".")
+ self.assertEqual(xml.count('<source>'), 1)
+
+ def test_deep_source(self):
+ # When using source=, the XML report needs to mention those directories
+ # in the <source> elements.
+ # https://bitbucket.org/ned/coveragepy/issues/439/incorrect-cobertura-file-sources-generated
+ self.make_file("src/main/foo.py", "a = 1")
+ self.make_file("also/over/there/bar.py", "b = 2")
+ cov = coverage.Coverage(source=["src/main", "also/over/there", "not/really"])
+ cov.start()
+ mod_foo = self.import_local_file("foo", "src/main/foo.py")
+ mod_bar = self.import_local_file("bar", "also/over/there/bar.py")
+ cov.stop()
+ cov.xml_report([mod_foo, mod_bar], outfile="-")
+ xml = self.stdout()
+
+ self.assert_source(xml, "src/main")
+ self.assert_source(xml, "also/over/there")
+ self.assertEqual(xml.count('<source>'), 2)
+
+ self.assertIn(
+ '<class branch-rate="0" complexity="0" filename="foo.py" line-rate="1" name="foo.py">',
+ xml
+ )
+ self.assertIn(
+ '<class branch-rate="0" complexity="0" filename="bar.py" line-rate="1" name="bar.py">',
+ xml
+ )
+
class XmlPackageStructureTest(XmlTestHelpers, CoverageTest):
"""Tests about the package structure reported in the coverage.xml file."""
@@ -228,6 +271,16 @@ class XmlPackageStructureTest(XmlTestHelpers, CoverageTest):
<class filename="d0/d0/d0/f0.py" name="f0.py">
""")
+ def test_source_prefix(self):
+ # https://bitbucket.org/ned/coveragepy/issues/465
+ self.make_file("src/mod.py", "print(17)")
+ cov = coverage.Coverage(source=["src"])
+ self.start_import_stop(cov, "mod", modfile="src/mod.py")
+ self.assert_package_and_class_tags(cov, """\
+ <package name=".">
+ <class filename="src/mod.py" name="mod.py">
+ """)
+
def re_lines(text, pat):
"""Return a list of lines that match `pat` in the string `text`."""
@@ -272,7 +325,7 @@ class XmlGoldTest(CoverageGoldTest):
import a # pragma: nested
cov.stop() # pragma: nested
cov.xml_report(a, outfile="../out/xml_1/coverage.xml")
- source_path = coverage.files.relative_directory().rstrip('/')
+ source_path = coverage.files.relative_directory().rstrip(r"\/")
compare("gold_x_xml", "out/xml_1", scrubs=[
(r' timestamp="\d+"', ' timestamp="TIMESTAMP"'),
@@ -291,7 +344,7 @@ class XmlGoldTest(CoverageGoldTest):
import a # pragma: nested
cov.stop() # pragma: nested
cov.xml_report(a)
- source_path = coverage.files.relative_directory().rstrip('/')
+ source_path = coverage.files.relative_directory().rstrip(r"\/")
compare("gold_x_xml", "out/xml_2", scrubs=[
(r' timestamp="\d+"', ' timestamp="TIMESTAMP"'),
@@ -310,7 +363,7 @@ class XmlGoldTest(CoverageGoldTest):
import y # pragma: nested
cov.stop() # pragma: nested
cov.xml_report(y, outfile="../out/y_xml_branch/coverage.xml")
- source_path = coverage.files.relative_directory().rstrip('/')
+ source_path = coverage.files.relative_directory().rstrip(r"\/")
compare("gold_y_xml_branch", "out/y_xml_branch", scrubs=[
(r' timestamp="\d+"', ' timestamp="TIMESTAMP"'),
diff --git a/tox.ini b/tox.ini
index 009fa79b..f9445da0 100644
--- a/tox.ini
+++ b/tox.ini
@@ -12,11 +12,13 @@ deps =
# https://requires.io/github/nedbat/coveragepy/requirements/
nose==1.3.7
mock==1.3.0
- PyContracts==1.7.6
+ PyContracts==1.7.9
py26: unittest2==1.1.0
- py{26,27,33,34,35}: gevent==1.1b6
- py{26,27,33,34}: eventlet==0.17.4
+ py{26,27,33,34,35}: gevent==1.1rc3
+ py{26,27,33,34}: eventlet==0.18.0
py{26,27,33,34,35}: greenlet==0.4.9
+ # setuptools no longer supports Python 3.2
+ pypy3_24: setuptools==18.4
passenv = *
setenv =
@@ -38,6 +40,8 @@ commands =
python igor.py test_with_tracer c {posargs}
[testenv:pypy]
+# The "pypy" environment is for Travis. Probably can make Travis use one of
+# the other environments...
basepython = pypy
[testenv:pypy24]
@@ -65,9 +69,10 @@ commands =
# Yes, pep8 will read its settings from tox.ini!
[pep8]
-# E265: block comment should start with '# '
+# E265 block comment should start with '# '
+# E266 too many leading '#' for block comment
# E301 expected 1 blank line, found 0
# E401 multiple imports on one line
# The rest are the default ignored warnings.
-ignore = E265,E123,E133,E226,E241,E242,E301,E401
+ignore = E265,E266,E123,E133,E226,E241,E242,E301,E401
max-line-length = 100
diff --git a/tox_wheels.ini b/tox_wheels.ini
index f956183d..761465ed 100644
--- a/tox_wheels.ini
+++ b/tox_wheels.ini
@@ -2,7 +2,7 @@
# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
[tox]
-envlist = py{26,27,33,34,35}
+envlist = py{26,27,33,34,35,sys}
toxworkdir = {toxinidir}/.tox_kits
[testenv]
@@ -11,3 +11,7 @@ deps =
commands =
python setup.py bdist_wheel {posargs}
+
+[testenv:pysys]
+# For building with the Mac Framework Python.
+basepython = /usr/bin/python