From: David A. <da...@bo...> - 2004-06-23 01:33:45
|
David Goodger <go...@py...> writes: > David Abrahams wrote: > > Do we have the same problem with raw:: nodes? > > It's quite possible. The "line" internal attribute was added after > most of the parser code, and not all elements have it asssigned > explicitly yet. Instead, there's an implicit mechanism that gets the > line number of an element from the current line number of the state > machine. Depending on when the element is constructed, this may refer > to the last line of the element. "line" was added so system messages > could be more informative. What are you using it for? > > Take a look at revision 1.74 of docutils/parsers/rst/states.py for the > fix (just explicitly set ``element.line``). I've added this to the > to-do list. Adding this feature would be a good introduction to the > parser code for anyone who's interested! Well, the code in this vicinity is totally opaque to me. I tried hard. I even put in print statements. I'm very grateful for what you did, but it was almost better before you fixed regular literal blocks, because I can't distinguish a node created by parsed-literal from a regular literal block. If I could, I could just count the newlines in the text and subtract when handled a parsed-literal. -- Dave Abrahams Boost Consulting http://www.boost-consulting.com |