[docutils:bugs] #517 content_offset in directives inside grid/simple tables are off
Günter Milde via Docutils-develop <[email protected]> Tue, 06 Jan 2026 17:35:06 -0000
| Newsgroups | gmane.text.docutils.devel |
|---|---|
| Message-ID | </p/docutils/bugs/517/4059b0447971c1a66cb848e7bbaa04d7bc074ccf.bugs@docutils.p.sourceforge.net> |
This is a multi-part message in MIME format.
--===============1048945367558065637==
Content-Type: multipart/related; boundary="===============0020384807035412845=="
This is a multi-part message in MIME format.
--===============0020384807035412845==
Content-Type: multipart/alternative; boundary="===============6436694656219778161=="
MIME-Version: 1.0
--===============6436694656219778161==
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Thanks for the test script. The attached variant was used to explore the problem and find the
spot that needs to be changed.
Commit [r10279] fixes the problem (and also wrong line numbers in some system messages for markup errors inside table cells.
Attachments:
- [directive-in-table.py](https://sourceforge.net/p/docutils/bugs/_discuss/thread/450678dd49/a008/attachment/directive-in-table.py) (3.0 kB; text/x-python)
---
**[bugs:#517] content_offset in directives inside grid/simple tables are off**
**Status:** open
**Created:** Sat Dec 27, 2025 05:07 PM UTC by Felix Fontein
**Last Updated:** Thu Jan 01, 2026 08:42 PM UTC
**Owner:** nobody
When parsing a directive in a grid table or simple table, the directive's `content_offset` is off by one. (When nesting such a table in another such a table, it's off by one for every nesting level.)
For example, for the following code block directives, `content_offset` is always off from the real content line where the code block's content is in:
```rst
content_offset is off by 1:
+----------------------+
| .. code-block:: yaml |
| |
| - foo |
+----------------------+
content_offset is off by 2:
+------------------------+
|+----------------------+|
|| .. code-block:: yaml ||
|| ||
|| - foo ||
|+----------------------+|
+------------------------+
content_offset is off by 3:
+--------------------------+
|+------------------------+|
||+----------------------+||
||| .. code-block:: yaml |||
||| |||
||| - foo |||
||+----------------------+||
|+------------------------+|
+--------------------------+
content_offset is off by 1:
===== =====
col 1 col 2
===== =====
1 .. code-block:: yaml
- foo
===== =====
content_offset is off by 2:
===== =====
col 1 col 2
===== =====
1 ===== =====
col 1 col 2
===== =====
1 .. code-block:: yaml
- foo
===== =====
===== =====
```
(I've noticed this when registering an own code block directive to find the actual location - row and column - of the code block's contents, to be able to give more precise error messages when linting.)
---
Sent from sourceforge.net because [email protected] is subscribed to https://sourceforge.net/p/docutils/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
--===============6436694656219778161==
MIME-Version: 1.0
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: 7bit
<div class="markdown_content"><p>Thanks for the test script. The attached variant was used to explore the problem and find the<br/>
spot that needs to be changed.<br/>
Commit <a class="alink" href="https://sourceforge.net/p/docutils/code/10279/">[r10279]</a> fixes the problem (and also wrong line numbers in some system messages for markup errors inside table cells.</p>
<p>Attachments:</p>
<ul>
<li><a class="" href="https://sourceforge.net/p/docutils/bugs/_discuss/thread/450678dd49/a008/attachment/directive-in-table.py">directive-in-table.py</a> (3.0 kB; text/x-python)</li>
</ul>
<hr/>
<p><strong><a class="alink" href="https://sourceforge.net/p/docutils/bugs/517/">[bugs:#517]</a> content_offset in directives inside grid/simple tables are off</strong></p>
<p><strong>Status:</strong> open<br/>
<strong>Created:</strong> Sat Dec 27, 2025 05:07 PM UTC by Felix Fontein<br/>
<strong>Last Updated:</strong> Thu Jan 01, 2026 08:42 PM UTC<br/>
<strong>Owner:</strong> nobody</p>
<p>When parsing a directive in a grid table or simple table, the directive's <code>content_offset</code> is off by one. (When nesting such a table in another such a table, it's off by one for every nesting level.)</p>
<p>For example, for the following code block directives, <code>content_offset</code> is always off from the real content line where the code block's content is in:</p>
<div class="codehilite"><pre><span></span><code>content_offset is off by 1:
+----------------------+
<span class="o">|</span> .. code-block:: yaml |
<span class="o">|</span> |
<span class="o">|</span> - foo |
+----------------------+
content_offset is off by 2:
+------------------------+
|+----------------------+|
|| .. code-block:: yaml ||
|| ||
|| - foo ||
|+----------------------+|
+------------------------+
content_offset is off by 3:
+--------------------------+
|+------------------------+|
||+----------------------+||
||| .. code-block:: yaml |||
||| |||
||| - foo |||
||+----------------------+||
|+------------------------+|
+--------------------------+
content_offset is off by 1:
===== =====
col 1 col 2
===== =====
1 .. code-block:: yaml
<span class="m">-</span> foo
===== =====
content_offset is off by 2:
===== =====
col 1 col 2
===== =====
1 ===== =====
col 1 col 2
===== =====
1 .. code-block:: yaml
<span class="m">-</span> foo
===== =====
===== =====
</code></pre></div>
<p>(I've noticed this when registering an own code block directive to find the actual location - row and column - of the code block's contents, to be able to give more precise error messages when linting.)</p>
<hr/>
<p>Sent from sourceforge.net because [email protected] is subscribed to <a href="https://sourceforge.net/p/docutils/bugs/">https://sourceforge.net/p/docutils/bugs/</a></p>
<p>To unsubscribe from further messages, a project admin can change settings at <a href="https://sourceforge.net/p/docutils/admin/bugs/options.">https://sourceforge.net/p/docutils/admin/bugs/options.</a> Or, if this is a mailing list, you can unsubscribe from the mailing list.</p></div>
--===============6436694656219778161==--
--===============0020384807035412845==--
--===============1048945367558065637==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
--===============1048945367558065637==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline