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

milde--- via Docutils-checkins <[email protected]> Fri, 15 Aug 2025 17:37:48 +0000
Newsgroups gmane.text.docutils.cvs
Message-ID <[email protected]>
Revision: 10201
          http://sourceforge.net/p/docutils/code/10201
Author:   milde
Date:     2025-08-15 17:37:47 +0000 (Fri, 15 Aug 2025)
Log Message:
-----------
Deprecate parsers.rst.states.RSTStateMachine.memo.reporter.

The "reporter" is already attached to "memo.document", so we can
simplify the "memo" a bit.

Modified Paths:
--------------
    trunk/docutils/RELEASE-NOTES.rst
    trunk/docutils/docutils/parsers/rst/states.py

Modified: trunk/docutils/RELEASE-NOTES.rst
===================================================================
--- trunk/docutils/RELEASE-NOTES.rst	2025-08-11 12:07:22 UTC (rev 10200)
+++ trunk/docutils/RELEASE-NOTES.rst	2025-08-15 17:37:47 UTC (rev 10201)
@@ -208,10 +208,11 @@
   in Docutils 2.0.  Since Docutils 0.22, you may use "reader", "parser",
   and "writer" arguments for component names as well as instances.
 
-* Remove `states.RSTStateMachine.memo.section_bubble_up_kludge`,
+* Remove `states.RSTStateMachine.memo.reporter`,
+  `states.RSTStateMachine.memo.section_bubble_up_kludge`,
   `states.RSTStateMachine.memo.section_level`,
   `states.RSTState.title_inconsistent()`, and `states.Line.eofcheck`
-  in Docutils 2.0. Ignored since Docutils 0.22.
+  in Docutils 2.0. Ignored since Docutils 0.22.1.
 
 * Remove `parsers.rst.states.Struct` (obsoleted by `types.SimpleNamespace`)
   in Docutils 2.0.

Modified: trunk/docutils/docutils/parsers/rst/states.py
===================================================================
--- trunk/docutils/docutils/parsers/rst/states.py	2025-08-11 12:07:22 UTC (rev 10200)
+++ trunk/docutils/docutils/parsers/rst/states.py	2025-08-15 17:37:47 UTC (rev 10201)
@@ -151,16 +151,19 @@
         if inliner is None:
             inliner = Inliner()
         inliner.init_customizations(document.settings)
+        # A collection of objects to share with nested parsers.
+        # The attributes `reporter`, `section_level`, and
+        # `section_bubble_up_kludge` will be removed in Docutils 2.0
         self.memo = Struct(document=document,
-                           reporter=document.reporter,
+                           reporter=document.reporter,  # ignored
                            language=self.language,
                            title_styles=[],
-                           section_level=0,  # ignored, to be removed in 2.0
-                           section_bubble_up_kludge=False,  # ignored, ""
+                           section_level=0,  # ignored
+                           section_bubble_up_kludge=False,  # ignored
                            inliner=inliner)
         self.document = document
         self.attach_observer(document.note_source)
-        self.reporter = self.memo.reporter
+        self.reporter = self.document.reporter
         self.node = document
         results = StateMachineWS.run(self, input_lines, input_offset,
                                      input_source=document['source'])
@@ -184,8 +187,8 @@
         self.memo = memo
         self.document = memo.document
         self.attach_observer(self.document.note_source)
-        self.reporter = memo.reporter
         self.language = memo.language
+        self.reporter = self.document.reporter
         self.node = node
         results = StateMachineWS.run(self, input_lines, input_offset)
         assert results == [], ('NestedStateMachine.run() results should be '
@@ -213,9 +216,9 @@
         StateWS.runtime_init(self)
         memo = self.state_machine.memo
         self.memo = memo
-        self.reporter = memo.reporter
+        self.document = memo.document
         self.inliner = memo.inliner
-        self.document = memo.document
+        self.reporter = self.document.reporter
         self.parent = self.state_machine.node
         # enable the reporter to determine source and source-line
         if not hasattr(self.reporter, 'get_source_and_line'):
@@ -637,9 +640,9 @@
         :text: source string
         :lineno: absolute line number, cf. `statemachine.get_source_and_line()`
         """
-        self.reporter = memo.reporter
         self.document = memo.document
         self.language = memo.language
+        self.reporter = self.document.reporter
         self.parent = parent
         pattern_search = self.patterns.initial.search
         dispatch = self.dispatch

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



_______________________________________________
Docutils-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/docutils-checkins