Skip to content

Commit 142999b

Browse files
committed
Merging branch/2023-02-16/manual-xrefs for GitHub pull request #159 <#159>.
2 parents e179634 + 0c0c5d5 commit 142999b

File tree

8 files changed

+38
-15
lines changed

8 files changed

+38
-15
lines changed

.readthedocs.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ python:
2626

2727
sphinx:
2828
configuration: manual/source/conf.py
29+
fail_on_warning: true
2930

3031
# A. REFERENCES
3132
#

design/object-debug.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ Requirements
4141

4242
_`.req.fencepost`: Try to detect overwrites and underwrites of
4343
allocated blocks by adding fenceposts (source req.product.??? VC++,
44-
req.epcore.fun.debug.support).
44+
req.epcore.fun.debug.support). [TODO: Locate the relevant product
45+
requirement. RB 2023-02-23]
4546

4647
_`.req.fencepost.size`: The fenceposts should be at least 4 bytes on
4748
either side or 8 bytes if on one side only, with an adjustable content
@@ -61,6 +62,7 @@ separate debugging variety/mode (source req.epcore.fun.debug.support).
6162
_`.req.tag`: There should be a way to store at least a word of user
6263
data (a "tag", borrowing the SW term) with every object in debugging
6364
mode, to be used in memory dumps (source req.product.??? VC++).
65+
[TODO: Locate the relevant product requirement. RB 2023-02-23]
6466

6567
_`.req.tag.walk`: The walking function (as required by `.req.walk`_)
6668
should have access to this data (source req.epcore.fun.debug.support).
@@ -341,16 +343,13 @@ fenceposts around an object. The ``NULL`` method checks tails.
341343

342344
_`.interface.tags.alloc`: Two functions to extend the existing
343345
``mps_alloc()`` (request.???.??? proposes to remove the varargs)
346+
[TODO: Locate the relevant Harlequin request. RB 2023-02-23]
344347

345348
``typedef void (*mps_objects_step_t)(mps_addr_t addr, size_t size, mps_fmt_t format, mps_pool_t pool, void *tag_data, void *p)``
346349

347350
_`.interface.tags.walker.type`: Type of walker function for
348351
``mps_pool_walk()`` and ``mps_arena_walk()``.
349352

350-
``void mps_pool_walk(mps_arena_t arena, mps_pool_t pool, mps_objects_step_t step, void *p)``
351-
352-
``void mps_arena_walk(mps_arena_t arena, mps_objects_step_t step, void *p)``
353-
354353
_`.interface.tags.walker`: Functions to walk all the allocated
355354
objects in an arena (only client pools in this case),
356355
``format`` and ``tag_data`` can be ``NULL`` (``tag_data`` really wants

manual/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
# You can set these variables from the command line.
88
PYTHON = python3
9-
SPHINXOPTS =
9+
SPHINXOPTS = -T -W --keep-going
1010
SPHINXBUILD = tool/bin/sphinx-build
1111
PAPER =
1212
BUILDDIR = .
@@ -44,7 +44,7 @@ help:
4444
@echo " tools to install a local copy of the Python tools using virtualenv"
4545

4646
clean:
47-
-rm -rf $(BUILDDIR)/{changes,devhelp,dirhtml,doctest,doctrees,epub,html,htmlhelp,json,latex,linkcheck,locale,man,pickle,qthelp,singlehtml,texinfo,text}
47+
-for dir in changes devhelp dirhtml doctest doctrees epub html htmlhelp json latex linkcheck locale man pickle qthelp singlehtml texinfo text; do rm -rf $(BUILDDIR)/$$dir; done
4848
-find $(BUILDDIR)/source/design -name '*.rst' ! -name 'index.rst' ! -name 'old.rst' -exec rm -f '{}' ';'
4949

5050
html: $(SPHINXBUILD)

manual/build.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
.. mode: -*- rst -*-
22
3-
===============================
3+
.. NOTE: This file is a chapter of the MPS manual, and so uses some
4+
Sphinx markup. It does double-duty as plain text / GitHub rendered
5+
instructions for bootstrapping the manual. When editing, be
6+
careful to ensure that the manual builds correctly. See GitHub
7+
issue #158 <https://github.com/Ravenbrook/mps/issues/158>.
8+
9+
.. _guide-build:
10+
411
Building the Memory Pool System
512
===============================
613

manual/source/design/index.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
1+
.. manual/source/design/index.rst -- index of designs in MPS manual
2+
3+
.. See design.mps.doc.impl.manual.design.
4+
5+
.. NOTE: If there is a discrepancy between the design directory and
6+
this list then Sphinx will produce a warning.
7+
8+
.. TODO: Generate this list from the design directory rather than rely
9+
in keeping it updated.
10+
111
.. _design:
212

313
Design
414
******
515

16+
.. warning::
17+
18+
The documents in this section are included from the working
19+
designs in the MPS source tree. They are intended for developers
20+
of the MPS. They vary a great deal in detail depending on the
21+
risks associated with the things they describe.
22+
623
.. toctree::
724
:numbered:
825

manual/source/extensions/mps/__init__.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'''
22
Sphinx extensions for the MPS documentation.
3-
See <http://sphinx-doc.org/extensions.html>
3+
See <https://www.sphinx-doc.org/en/master/development/index.html>
44
'''
55

66
from collections import defaultdict
@@ -56,12 +56,13 @@ def add_to_app(cls, app):
5656
else:
5757
return
5858
if hasattr(cls, 'node_class') and hasattr(cls, 'visit'):
59-
app.add_node(cls.node_class, html=cls.visit, latex=cls.visit,
59+
app.add_node(cls.node_class, override=True,
60+
html=cls.visit, latex=cls.visit,
6061
text=cls.visit, man=cls.visit)
6162
if hasattr(cls, 'domain'):
62-
app.add_directive_to_domain(cls.domain, name, cls)
63+
app.add_directive_to_domain(cls.domain, name, cls, override=True)
6364
else:
64-
app.add_directive(name, cls)
65+
app.add_directive(name, cls, override=True)
6566

6667
class MpsPrefixDirective(MpsDirective):
6768
domain = 'mps'

manual/source/guide/build.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@
55
single: compiling
66
single: installing
77

8-
.. _guide-build:
9-
108
.. include:: ../../build.txt

manual/source/topic/scanning.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@ the scanners, found in ``scan.c`` in the MPS source code.
557557
.. note::
558558
559559
The reason that :c:data:`base` and :c:data:`limit` have type
560-
:c:type:`void *` and not :c:type:`mps_addr_t` is that the
560+
``void *`` and not :c:type:`mps_addr_t` is that the
561561
latter is used only for :term:`addresses` managed by the MPS,
562562
but :c:type:`mps_area_scan_t` may also be used to scan
563563
:term:`roots` that are not managed by the MPS.

0 commit comments

Comments
 (0)