Sphinx confused by `•`.

When building the HTML docs with Sphinx v4.3.0 the bullet symbol in
backticks quotes causes this warning message:

    .../Joypy/implementations/Python/joy/utils/pretty_print.py:docstring of joy.utils.pretty_print:15: WARNING: Inline interpreted text or phrase reference start-string without end-string.
This commit is contained in:
Simon Forman 2022-02-19 07:39:07 -08:00
parent 2b15f88c29
commit 4ac8fd5f4c
15 changed files with 101 additions and 46 deletions

View File

@ -94,11 +94,10 @@
<span class="n">term</span><span class="p">,</span> <span class="n">expression</span> <span class="o">=</span> <span class="n">expression</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">term</span><span class="p">,</span> <span class="n">Symbol</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">term</span> <span class="o">=</span> <span class="n">dictionary</span><span class="p">[</span><span class="n">term</span><span class="p">]</span>
<span class="k">except</span> <span class="ne">KeyError</span><span class="p">:</span>
<span class="k">if</span> <span class="n">term</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dictionary</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">UnknownSymbolError</span><span class="p">(</span><span class="n">term</span><span class="p">)</span>
<span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span> <span class="o">=</span> <span class="n">term</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span><span class="p">)</span>
<span class="n">func</span> <span class="o">=</span> <span class="n">dictionary</span><span class="p">[</span><span class="n">term</span><span class="p">]</span>
<span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span> <span class="o">=</span> <span class="n">func</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span><span class="p">)</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">stack</span> <span class="o">=</span> <span class="n">term</span><span class="p">,</span> <span class="n">stack</span>

View File

@ -234,9 +234,9 @@
<span class="k">if</span> <span class="n">line</span><span class="o">.</span><span class="n">lstrip</span><span class="p">()</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">&#39;#&#39;</span><span class="p">):</span>
<span class="k">continue</span>
<span class="n">name</span><span class="p">,</span> <span class="n">body</span> <span class="o">=</span> <span class="n">text_to_expression</span><span class="p">(</span><span class="n">line</span><span class="p">)</span>
<span class="c1">## if name not in dictionary:</span>
<span class="c1">## inscribe(class_(name, body), dictionary)</span>
<span class="n">inscribe</span><span class="p">(</span><span class="n">class_</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">body</span><span class="p">),</span> <span class="n">dictionary</span><span class="p">)</span></div>
<span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">dictionary</span><span class="p">:</span>
<span class="n">inscribe</span><span class="p">(</span><span class="n">class_</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">body</span><span class="p">),</span> <span class="n">dictionary</span><span class="p">)</span></div>
<span class="c1">## inscribe(class_(name, body), dictionary)</span>
<span class="c1">#</span>
@ -449,7 +449,8 @@
<span class="k">def</span> <span class="nf">remove</span><span class="p">(</span><span class="n">S</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> Expects an item on the stack and a quote under it and removes that item</span>
<span class="sd"> from the the quote. The item is only removed once.</span>
<span class="sd"> from the the quote. The item is only removed once. If the list is</span>
<span class="sd"> empty or the item isn&#39;t in the list then the list is unchanged.</span>
<span class="sd"> ::</span>
<span class="sd"> [1 2 3 1] 1 remove</span>
@ -457,10 +458,14 @@
<span class="sd"> [2 3 1]</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="p">(</span><span class="n">tos</span><span class="p">,</span> <span class="p">(</span><span class="n">second</span><span class="p">,</span> <span class="n">stack</span><span class="p">))</span> <span class="o">=</span> <span class="n">S</span>
<span class="n">l</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">iter_stack</span><span class="p">(</span><span class="n">second</span><span class="p">))</span>
<span class="n">l</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">tos</span><span class="p">)</span>
<span class="k">return</span> <span class="n">list_to_stack</span><span class="p">(</span><span class="n">l</span><span class="p">),</span> <span class="n">stack</span></div>
<span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="p">(</span><span class="n">quote</span><span class="p">,</span> <span class="n">stack</span><span class="p">))</span> <span class="o">=</span> <span class="n">S</span>
<span class="k">return</span> <span class="n">_remove</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">quote</span><span class="p">),</span> <span class="n">stack</span></div>
<span class="k">def</span> <span class="nf">_remove</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">quote</span><span class="p">):</span>
<span class="k">try</span><span class="p">:</span> <span class="n">head</span><span class="p">,</span> <span class="n">tail</span> <span class="o">=</span> <span class="n">quote</span>
<span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span> <span class="k">return</span> <span class="n">quote</span>
<span class="k">return</span> <span class="n">tail</span> <span class="k">if</span> <span class="n">head</span> <span class="o">==</span> <span class="n">item</span> <span class="k">else</span> <span class="p">(</span><span class="n">head</span><span class="p">,</span> <span class="n">_remove</span><span class="p">(</span><span class="n">item</span><span class="p">,</span> <span class="n">tail</span><span class="p">))</span>
<div class="viewcode-block" id="unique"><a class="viewcode-back" href="../../library.html#joy.library.unique">[docs]</a><span class="nd">@inscribe</span>
@ -816,6 +821,22 @@
<span class="k">return</span> <span class="n">stack</span><span class="p">,</span> <span class="n">concat</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">concat</span><span class="p">(</span><span class="n">q</span><span class="p">,</span> <span class="n">expression</span><span class="p">)),</span> <span class="n">dictionary</span></div>
<div class="viewcode-block" id="ii"><a class="viewcode-back" href="../../library.html#joy.library.ii">[docs]</a><span class="nd">@inscribe</span>
<span class="nd">@FunctionWrapper</span>
<span class="k">def</span> <span class="nf">ii</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> ::</span>
<span class="sd"> ... a [Q] ii</span>
<span class="sd"> ------------------</span>
<span class="sd"> ... Q a Q</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="n">quote</span><span class="p">,</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">stack</span><span class="p">)</span> <span class="o">=</span> <span class="n">stack</span>
<span class="n">expression</span> <span class="o">=</span> <span class="n">concat</span><span class="p">(</span><span class="n">quote</span><span class="p">,</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">concat</span><span class="p">(</span><span class="n">quote</span><span class="p">,</span> <span class="n">expression</span><span class="p">)))</span>
<span class="k">return</span> <span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span></div>
<div class="viewcode-block" id="dupdip"><a class="viewcode-back" href="../../library.html#joy.library.dupdip">[docs]</a><span class="nd">@inscribe</span>
<span class="nd">@FunctionWrapper</span>
<span class="k">def</span> <span class="nf">dupdip</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span><span class="p">):</span>
@ -1019,32 +1040,32 @@
<span class="k">return</span> <span class="n">stack</span><span class="p">,</span> <span class="n">concat</span><span class="p">(</span><span class="n">then</span> <span class="k">if</span> <span class="n">flag</span> <span class="k">else</span> <span class="n">else_</span><span class="p">,</span> <span class="n">expression</span><span class="p">),</span> <span class="n">dictionary</span></div>
<span class="c1">##@inscribe</span>
<span class="c1">##@FunctionWrapper</span>
<span class="c1">##def ifte(stack, expression, dictionary):</span>
<span class="c1">## &#39;&#39;&#39;</span>
<span class="c1">## If-Then-Else Combinator</span>
<span class="c1">## ::</span>
<span class="c1">##</span>
<span class="c1">## ... [if] [then] [else] ifte</span>
<span class="c1">## ---------------------------------------------------</span>
<span class="c1">## ... [[else] [then]] [...] [if] infra select i</span>
<span class="c1">##</span>
<span class="c1">##</span>
<span class="c1">##</span>
<span class="c1">##</span>
<span class="c1">## ... [if] [then] [else] ifte</span>
<span class="c1">## -------------------------------------------------------</span>
<span class="c1">## ... [else] [then] [...] [if] infra first choice i</span>
<span class="c1">##</span>
<span class="c1">##</span>
<span class="c1">## Has the effect of grabbing a copy of the stack on which to run the</span>
<span class="c1">## if-part using infra.</span>
<span class="c1">## &#39;&#39;&#39;</span>
<span class="c1">## (else_, (then, (if_, stack))) = stack</span>
<span class="c1">## expression = (S_infra, (S_first, (S_choice, (S_i, expression))))</span>
<span class="c1">## stack = (if_, (stack, (then, (else_, stack))))</span>
<span class="c1">## return stack, expression, dictionary</span>
<div class="viewcode-block" id="ifte"><a class="viewcode-back" href="../../library.html#joy.library.ifte">[docs]</a><span class="nd">@inscribe</span>
<span class="nd">@FunctionWrapper</span>
<span class="k">def</span> <span class="nf">ifte</span><span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span><span class="p">):</span>
<span class="sd">&#39;&#39;&#39;</span>
<span class="sd"> If-Then-Else Combinator</span>
<span class="sd"> ::</span>
<span class="sd"> ... [if] [then] [else] ifte</span>
<span class="sd"> ---------------------------------------------------</span>
<span class="sd"> ... [[else] [then]] [...] [if] infra select i</span>
<span class="sd"> ... [if] [then] [else] ifte</span>
<span class="sd"> -------------------------------------------------------</span>
<span class="sd"> ... [else] [then] [...] [if] infra first choice i</span>
<span class="sd"> Has the effect of grabbing a copy of the stack on which to run the</span>
<span class="sd"> if-part using infra.</span>
<span class="sd"> &#39;&#39;&#39;</span>
<span class="p">(</span><span class="n">else_</span><span class="p">,</span> <span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="p">(</span><span class="n">if_</span><span class="p">,</span> <span class="n">stack</span><span class="p">)))</span> <span class="o">=</span> <span class="n">stack</span>
<span class="n">expression</span> <span class="o">=</span> <span class="p">(</span><span class="n">S_infra</span><span class="p">,</span> <span class="p">(</span><span class="n">S_first</span><span class="p">,</span> <span class="p">(</span><span class="n">S_choice</span><span class="p">,</span> <span class="p">(</span><span class="n">S_i</span><span class="p">,</span> <span class="n">expression</span><span class="p">))))</span>
<span class="n">stack</span> <span class="o">=</span> <span class="p">(</span><span class="n">if_</span><span class="p">,</span> <span class="p">(</span><span class="n">stack</span><span class="p">,</span> <span class="p">(</span><span class="n">then</span><span class="p">,</span> <span class="p">(</span><span class="n">else_</span><span class="p">,</span> <span class="n">stack</span><span class="p">))))</span>
<span class="k">return</span> <span class="n">stack</span><span class="p">,</span> <span class="n">expression</span><span class="p">,</span> <span class="n">dictionary</span></div>
<div class="viewcode-block" id="cond"><a class="viewcode-back" href="../../library.html#joy.library.cond">[docs]</a><span class="nd">@inscribe</span>

View File

@ -66,7 +66,7 @@
<span class="sd"> joy? </span>
<span class="sd">On each line the stack is printed with the top to the left, then a</span>
<span class="sd">bullet symbol,``•``, to represent the current locus of processing, then</span>
<span class="sd">bullet symbol,, to represent the current locus of processing, then</span>
<span class="sd">the pending expression to the right.</span>
<span class="sd">&#39;&#39;&#39;</span>
<span class="c1"># (Kinda clunky and hacky. This should be swapped out in favor of much</span>

View File

@ -201,12 +201,16 @@
</li>
<li><a href="library.html#joy.library.id_">id_() (in module joy.library)</a>
</li>
<li><a href="library.html#joy.library.infra">infra() (in module joy.library)</a>
<li><a href="library.html#joy.library.ifte">ifte() (in module joy.library)</a>
</li>
<li><a href="library.html#joy.library.initialize">initialize() (in module joy.library)</a>
<li><a href="library.html#joy.library.ii">ii() (in module joy.library)</a>
</li>
<li><a href="library.html#joy.library.infra">infra() (in module joy.library)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="library.html#joy.library.initialize">initialize() (in module joy.library)</a>
</li>
<li><a href="library.html#joy.library.inscribe">inscribe() (in module joy.library)</a>
</li>
<li><a href="library.html#joy.library.inscribe_">inscribe_() (in module joy.library)</a>

File diff suppressed because one or more lines are too long

View File

@ -52,7 +52,7 @@ joy?
</pre></div>
</div>
<p>On each line the stack is printed with the top to the left, then a
bullet symbol,``•<a href="#id1"><span class="problematic" id="id2">``</span></a>, to represent the current locus of processing, then
bullet symbol,, to represent the current locus of processing, then
the pending expression to the right.</p>
<dl class="py class">
<dt class="sig sig-object py" id="joy.utils.pretty_print.TracePrinter">

File diff suppressed because one or more lines are too long

View File

@ -33,7 +33,7 @@ Pretty printing support, e.g.::
joy?
On each line the stack is printed with the top to the left, then a
bullet symbol,````, to represent the current locus of processing, then
bullet symbol, , to represent the current locus of processing, then
the pending expression to the right.
'''
# (Kinda clunky and hacky. This should be swapped out in favor of much