SF.net SVN: docutils:[10078] trunk/docutils

milde--- via Docutils-checkins <[email protected]> Wed, 09 Apr 2025 14:26:10 +0000
Newsgroups gmane.text.docutils.cvs
Message-ID <[email protected]>
Revision: 10078
          http://sourceforge.net/p/docutils/code/10078
Author:   milde
Date:     2025-04-09 14:26:09 +0000 (Wed, 09 Apr 2025)
Log Message:
-----------
Small rST parser fixes.

Add source and line info to <enumerated-list> elements [feature-requests:#41].

Fix line number of "start value not ordinal-1" INFO message
(see also [patches:#213]).

Modified Paths:
--------------
    trunk/docutils/HISTORY.rst
    trunk/docutils/docutils/parsers/rst/states.py
    trunk/docutils/test/functional/expected/standalone_rst_pseudoxml.txt

Modified: trunk/docutils/HISTORY.rst
===================================================================
--- trunk/docutils/HISTORY.rst	2025-04-09 08:55:54 UTC (rev 10077)
+++ trunk/docutils/HISTORY.rst	2025-04-09 14:26:09 UTC (rev 10078)
@@ -107,6 +107,8 @@
 * docutils/parsers/rst/states.py
 
   - Raise warning for empty footnotes and citations.
+  - Add source and line info to <enumerated-list> elements.
+    Fix line number of "start value not ordinal-1" INFO message.
 
 * docutils/readers/__init__.py:
 

Modified: trunk/docutils/docutils/parsers/rst/states.py
===================================================================
--- trunk/docutils/docutils/parsers/rst/states.py	2025-04-09 08:55:54 UTC (rev 10077)
+++ trunk/docutils/docutils/parsers/rst/states.py	2025-04-09 14:26:09 UTC (rev 10078)
@@ -1303,6 +1303,8 @@
         if not self.is_enumerated_list_item(ordinal, sequence, format):
             raise statemachine.TransitionCorrection('text')
         enumlist = nodes.enumerated_list()
+        (enumlist.source,
+         enumlist.line) = self.state_machine.get_source_and_line()
         self.parent += enumlist
         if sequence == '#':
             enumlist['enumtype'] = 'arabic'
@@ -1314,7 +1316,7 @@
             enumlist['start'] = ordinal
             msg = self.reporter.info(
                 'Enumerated list start value not ordinal-1: "%s" (ordinal %s)'
-                % (text, ordinal))
+                % (text, ordinal), base_node=enumlist)
             self.parent += msg
         listitem, blank_finish = self.list_item(match.end())
         enumlist += listitem

Modified: trunk/docutils/test/functional/expected/standalone_rst_pseudoxml.txt
===================================================================
--- trunk/docutils/test/functional/expected/standalone_rst_pseudoxml.txt	2025-04-09 08:55:54 UTC (rev 10077)
+++ trunk/docutils/test/functional/expected/standalone_rst_pseudoxml.txt	2025-04-09 14:26:09 UTC (rev 10078)
@@ -636,7 +636,7 @@
                         <list_item>
                             <paragraph>
                                 Four
-                    <system_message level="1" line="8" source="functional/input/data/standard.rst" type="INFO">
+                    <system_message level="1" line="178" source="functional/input/data/standard.rst" type="INFO">
                         <paragraph>
                             Enumerated list start value not ordinal-1: "3" (ordinal 3)
                     <enumerated_list enumtype="upperalpha" prefix="" start="3" suffix=".">
@@ -646,7 +646,7 @@
                         <list_item>
                             <paragraph>
                                 D
-                    <system_message level="1" line="8" source="functional/input/data/standard.rst" type="INFO">
+                    <system_message level="1" line="182" source="functional/input/data/standard.rst" type="INFO">
                         <paragraph>
                             Enumerated list start value not ordinal-1: "C" (ordinal 3)
                     <enumerated_list enumtype="lowerroman" prefix="" start="3" suffix=".">
@@ -656,7 +656,7 @@
                         <list_item>
                             <paragraph>
                                 iv
-                    <system_message level="1" line="8" source="functional/input/data/standard.rst" type="INFO">
+                    <system_message level="1" line="186" source="functional/input/data/standard.rst" type="INFO">
                         <paragraph>
                             Enumerated list start value not ordinal-1: "iii" (ordinal 3)
         <section ids="definition-lists" names="definition\ lists">

This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.