[docutils:patches] #213 Change section handling to not rely on exceptions and reparsing
Günter Milde via Docutils-develop <[email protected]> Wed, 30 Jul 2025 09:27:34 -0000
| Newsgroups | gmane.text.docutils.devel |
|---|---|
| Message-ID | </p/docutils/patches/213/3bcd2ec2ddf37432622a859003d29b7a1411c038.patches@docutils.p.sourceforge.net> |
This is a multi-part message in MIME format. --===============7348647378624468473== Content-Type: multipart/related; boundary="===============2796494647852177700==" This is a multi-part message in MIME format. --===============2796494647852177700== Content-Type: multipart/alternative; boundary="===============0308403134980078600==" MIME-Version: 1.0 --===============0308403134980078600== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 LSAqKnN0YXR1cyoqOiBvcGVuLWZpeGVkIC0tPiBjbG9zZWQtZml4ZWQKLSAqKkNvbW1lbnQqKjoK ClRoZSBpc3N1ZSBpcyBmaXhlZCBpbiBEb2N1dGlscyAwLjIyIHJlbGVhc2VkIDIwMjUtMDctMjku DQpUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4NCgoKCgotLS0KCioqW3BhdGNoZXM6IzIxM10gQ2hh bmdlIHNlY3Rpb24gaGFuZGxpbmcgdG8gbm90IHJlbHkgb24gZXhjZXB0aW9ucyBhbmQgcmVwYXJz aW5nKioKCioqU3RhdHVzOioqIGNsb3NlZC1maXhlZAoqKkdyb3VwOioqIE5vbmUKKipDcmVhdGVk OioqIFdlZCBNYXIgMjYsIDIwMjUgMDc6NTcgUE0gVVRDIGJ5IEFybmUgU2tqw6ZyaG9sdAoqKkxh c3QgVXBkYXRlZDoqKiBGcmkgQXByIDI1LCAyMDI1IDEwOjM3IEFNIFVUQwoqKk93bmVyOioqIG5v Ym9keQoqKkF0dGFjaG1lbnRzOioqCgotIFtzZWN0aW9uLWhhbmRsaW5nLnBhdGNoXShodHRwczov L3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNoZXMvMjEzL2F0dGFjaG1lbnQvc2VjdGlv bi1oYW5kbGluZy5wYXRjaCkgKDEzLjMga0I7IHRleHQveC1wYXRjaCkKCgpXaGlsZSB3YWl0aW5n IGZvciByZXNwb25zZXMgdG8gYW4gZW1haWwgSSBzZW50IHRvIHRoZSAtdXNlcnMgSSBkZWNpZGVk IHRvIGRpZyBmdXJ0aGVyIGludG8gdGhlIGlzc3VlIGFuZCBlbmRlZCB1cCBpbXBsZW1lbnRpbmcg YSBmaXguIFRvIHJlY2FwIG15IGlzc3VlLCBJIHdhcyBoYXZpbmcgcHJvYmxlbXMgd2l0aCBhIGN1 c3RvbSBkaXJlY3RpdmUncyBuZXN0ZWQgcGFyc2Ugb2YgaXRzIGNvbnRlbnQgd2hlbiBzZWN0aW9u IGhlYWRlcnMgd2VyZSB1c2VkLCBiZWNhdXNlIHRoZSBleGlzdGluZyBjb2RlIHRocm93cyBhbiBF T0ZFcnJvciB1cCB0aGUgY2hhaW4gdG8gZmluZCB0aGUgY29ycmVjdCBwbGFjZSB0byBhdHRhY2gg YSBuZXcgc2VjdGlvbi4NCg0KVGhlIHByb3Bvc2VkIHBhdGNoIGNoYW5nZXMgdGhpcyBieSBhZGRp bmcgYW4gZXhwbGljaXQgc3RhY2sgb2Ygc2VjdGlvbnMgdG8gdGhlIG1lbW8gb2JqZWN0IGluc3Rl YWQgb2YgdXNpbmcgdGhlIFB5dGhvbiBjYWxsIHN0YWNrLCBhbmQgY2hhbmdpbmcgUlNUU3RhdGUu c2VjdGlvbigpIHRvIHVud2luZCB0aGlzIHN0YXRlIGluLXBsYWNlLCBpbnN0ZWFkIG9mIHVzaW5n IGV4Y2VwdGlvbiB0aHJvd2luZyB0byBmaW5kIHRoZSByaWdodCBwbGFjZS4gSW4gZmFjdCwgSSB0 aGluayB0aGlzIGlzIHRoZSBraW5kIG9mIGltcGxlbWVudGF0aW9uIHN1Z2dlc3RlZCBhcyBhbiBh bHRlcm5hdGl2ZSBpbiBhIGNvbW1lbnQgaW4gdGhlIGV4aXN0aW5nIGNvZGUuIFRoaXMgYWxzbyBs ZXRzIHVzIGdldCByaWQgb2YgbWVtby5zZWN0aW9uX2J1YmJsZV91cF9rbHVkZ2UgYW5kIExpbmUu ZW9mY2hlY2ssIHdoaWNoIG9ubHkgZXhpc3RlZCB0byBoYW5kbGUgdGhlIGV4Y2VwdGlvbnMuDQoN CkluIGFkZGl0aW9uIHRvIHRoZSBjaGFuZ2VkIGNvZGUsIEkndmUgaGFkIHRvIG1ha2Ugc2l4IGNo YW5nZXMgdG8gdGhlIHRlc3Qgc3VpdGUuDQoNCi0gVGhyZWUgZGlhZ25vc3RpY3MgaW4gdGVzdC9m dW5jdGlvbmFsL2V4cGVjdGVkL3N0YW5kYWxvbmVfcnN0X3BzZXVkb3htbC50eHQgbm93IGhhdmUg bGluZSBudW1iZXJzIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUgcmF0aGVy IHRoYW4gc29tZSBvdGhlciBlbGVtZW50LiBJIHRoaW5rIGJlY2F1c2Ugd2Ugbm8gbG9uZ2VyIGlu aXRpYXRlIGEgbmVzdGVkIHBhcnNlIGZvciBzZWN0aW9ucy4NCi0gVHdvIGRpYWdub3N0aWNzIGlu IHRlc3QvdGVzdF9wYXJzZXJzL3Rlc3RfcnN0L3Rlc3RfdGFyZ2V0cy5weSBoYXZlIGRpZmZlcmVu dCBsaW5lIG51bWJlcnMsIGluZGljYXRpbmcgdGhlIHNlY29uZCBjb25mbGljdGluZyBsYWJlbCwg cmF0aGVyIHRoYW4gdGhlIGltcGxpY2l0IGxhYmVsIGdlbmVyYXRlZCBieSB0aGUgc2VjdGlvbi4g SSB0aGluayB0aGUgcmVhc29uIGlzIHRoYXQgZHVlIHRvIHRoZSBleGNlcHRpb24gdGhyb3dpbmcg YXBwcm9hY2gsIHRoZSBleGlzdGluZyBjb2RlIGhhbmRsZWQgdGhlIHNlY3Rpb24gbGFiZWwgbGF0 ZXIgdGhhbiB0aGUgb3RoZXIsIGV2ZW4gaWYgdGhlIHNlY3Rpb24gaXMgZWFybGllciBpbiB0aGUg dGV4dC4NCi0gdGVzdC90ZXN0X3BhcnNlcnMvdGVzdF9yc3QvdGVzdF9zZWN0aW9uX2hlYWRlcnMu cHkgaGFzIG9uZSBkaWFnbm9zdGljIG91dHB1dCBsZXNzLiBJIHRoaW5rIHRoaXMgZGlhZ25vc3Rp YyBpcyBhIGR1cGxpY2F0ZSwgY2F1c2VkIGJ5IHRoZSByZXRocm93aW5nIG9mIHRoZSBleGNlcHRp b24gZm9yIGJ1YmJsaW5nIHVwIHRoZSBzdGFjay4NCg0KCgoKLS0tCgpTZW50IGZyb20gc291cmNl Zm9yZ2UubmV0IGJlY2F1c2UgZG9jdXRpbHMtZGV2ZWxvcEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQg aXMgc3Vic2NyaWJlZCB0byBodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNo ZXMvCgpUbyB1bnN1YnNjcmliZSBmcm9tIGZ1cnRoZXIgbWVzc2FnZXMsIGEgcHJvamVjdCBhZG1p biBjYW4gY2hhbmdlIHNldHRpbmdzIGF0IGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvZG9jdXRp bHMvYWRtaW4vcGF0Y2hlcy9vcHRpb25zLiAgT3IsIGlmIHRoaXMgaXMgYSBtYWlsaW5nIGxpc3Qs IHlvdSBjYW4gdW5zdWJzY3JpYmUgZnJvbSB0aGUgbWFpbGluZyBsaXN0Lg== --===============0308403134980078600== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 PGRpdiBjbGFzcz0ibWFya2Rvd25fY29udGVudCI+PHVsPgo8bGk+PHN0cm9uZz5zdGF0dXM8L3N0 cm9uZz46IG9wZW4tZml4ZWQgLS0mZ3Q7IGNsb3NlZC1maXhlZDwvbGk+CjxsaT48c3Ryb25nPkNv bW1lbnQ8L3N0cm9uZz46PC9saT4KPC91bD4KPHA+VGhlIGlzc3VlIGlzIGZpeGVkIGluIERvY3V0 aWxzIDAuMjIgcmVsZWFzZWQgMjAyNS0wNy0yOS48YnIvPgpUaGFuayB5b3UgZm9yIHRoZSBwYXRj aC48L3A+Cjxoci8+CjxwPjxzdHJvbmc+PGEgY2xhc3M9ImFsaW5rIHN0cmlrZXRocm91Z2giIGhy ZWY9Imh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvZG9jdXRpbHMvcGF0Y2hlcy8yMTMvIj5bcGF0 Y2hlczojMjEzXTwvYT4gQ2hhbmdlIHNlY3Rpb24gaGFuZGxpbmcgdG8gbm90IHJlbHkgb24gZXhj ZXB0aW9ucyBhbmQgcmVwYXJzaW5nPC9zdHJvbmc+PC9wPgo8cD48c3Ryb25nPlN0YXR1czo8L3N0 cm9uZz4gY2xvc2VkLWZpeGVkPGJyLz4KPHN0cm9uZz5Hcm91cDo8L3N0cm9uZz4gTm9uZTxici8+ CjxzdHJvbmc+Q3JlYXRlZDo8L3N0cm9uZz4gV2VkIE1hciAyNiwgMjAyNSAwNzo1NyBQTSBVVEMg YnkgQXJuZSBTa2rDpnJob2x0PGJyLz4KPHN0cm9uZz5MYXN0IFVwZGF0ZWQ6PC9zdHJvbmc+IEZy aSBBcHIgMjUsIDIwMjUgMTA6MzcgQU0gVVRDPGJyLz4KPHN0cm9uZz5Pd25lcjo8L3N0cm9uZz4g bm9ib2R5PGJyLz4KPHN0cm9uZz5BdHRhY2htZW50czo8L3N0cm9uZz48L3A+Cjx1bD4KPGxpPjxh IGNsYXNzPSIiIGhyZWY9Imh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvZG9jdXRpbHMvcGF0Y2hl cy8yMTMvYXR0YWNobWVudC9zZWN0aW9uLWhhbmRsaW5nLnBhdGNoIj5zZWN0aW9uLWhhbmRsaW5n LnBhdGNoPC9hPiAoMTMuMyBrQjsgdGV4dC94LXBhdGNoKTwvbGk+CjwvdWw+CjxwPldoaWxlIHdh aXRpbmcgZm9yIHJlc3BvbnNlcyB0byBhbiBlbWFpbCBJIHNlbnQgdG8gdGhlIC11c2VycyBJIGRl Y2lkZWQgdG8gZGlnIGZ1cnRoZXIgaW50byB0aGUgaXNzdWUgYW5kIGVuZGVkIHVwIGltcGxlbWVu dGluZyBhIGZpeC4gVG8gcmVjYXAgbXkgaXNzdWUsIEkgd2FzIGhhdmluZyBwcm9ibGVtcyB3aXRo IGEgY3VzdG9tIGRpcmVjdGl2ZSdzIG5lc3RlZCBwYXJzZSBvZiBpdHMgY29udGVudCB3aGVuIHNl Y3Rpb24gaGVhZGVycyB3ZXJlIHVzZWQsIGJlY2F1c2UgdGhlIGV4aXN0aW5nIGNvZGUgdGhyb3dz IGFuIEVPRkVycm9yIHVwIHRoZSBjaGFpbiB0byBmaW5kIHRoZSBjb3JyZWN0IHBsYWNlIHRvIGF0 dGFjaCBhIG5ldyBzZWN0aW9uLjwvcD4KPHA+VGhlIHByb3Bvc2VkIHBhdGNoIGNoYW5nZXMgdGhp cyBieSBhZGRpbmcgYW4gZXhwbGljaXQgc3RhY2sgb2Ygc2VjdGlvbnMgdG8gdGhlIG1lbW8gb2Jq ZWN0IGluc3RlYWQgb2YgdXNpbmcgdGhlIFB5dGhvbiBjYWxsIHN0YWNrLCBhbmQgY2hhbmdpbmcg UlNUU3RhdGUuc2VjdGlvbigpIHRvIHVud2luZCB0aGlzIHN0YXRlIGluLXBsYWNlLCBpbnN0ZWFk IG9mIHVzaW5nIGV4Y2VwdGlvbiB0aHJvd2luZyB0byBmaW5kIHRoZSByaWdodCBwbGFjZS4gSW4g ZmFjdCwgSSB0aGluayB0aGlzIGlzIHRoZSBraW5kIG9mIGltcGxlbWVudGF0aW9uIHN1Z2dlc3Rl ZCBhcyBhbiBhbHRlcm5hdGl2ZSBpbiBhIGNvbW1lbnQgaW4gdGhlIGV4aXN0aW5nIGNvZGUuIFRo aXMgYWxzbyBsZXRzIHVzIGdldCByaWQgb2YgbWVtby5zZWN0aW9uX2J1YmJsZV91cF9rbHVkZ2Ug YW5kIExpbmUuZW9mY2hlY2ssIHdoaWNoIG9ubHkgZXhpc3RlZCB0byBoYW5kbGUgdGhlIGV4Y2Vw dGlvbnMuPC9wPgo8cD5JbiBhZGRpdGlvbiB0byB0aGUgY2hhbmdlZCBjb2RlLCBJJ3ZlIGhhZCB0 byBtYWtlIHNpeCBjaGFuZ2VzIHRvIHRoZSB0ZXN0IHN1aXRlLjwvcD4KPHVsPgo8bGk+VGhyZWUg ZGlhZ25vc3RpY3MgaW4gdGVzdC9mdW5jdGlvbmFsL2V4cGVjdGVkL3N0YW5kYWxvbmVfcnN0X3Bz ZXVkb3htbC50eHQgbm93IGhhdmUgbGluZSBudW1iZXJzIHJlbGF0aXZlIHRvIHRoZSBiZWdpbm5p bmcgb2YgdGhlIGZpbGUgcmF0aGVyIHRoYW4gc29tZSBvdGhlciBlbGVtZW50LiBJIHRoaW5rIGJl Y2F1c2Ugd2Ugbm8gbG9uZ2VyIGluaXRpYXRlIGEgbmVzdGVkIHBhcnNlIGZvciBzZWN0aW9ucy48 L2xpPgo8bGk+VHdvIGRpYWdub3N0aWNzIGluIHRlc3QvdGVzdF9wYXJzZXJzL3Rlc3RfcnN0L3Rl c3RfdGFyZ2V0cy5weSBoYXZlIGRpZmZlcmVudCBsaW5lIG51bWJlcnMsIGluZGljYXRpbmcgdGhl IHNlY29uZCBjb25mbGljdGluZyBsYWJlbCwgcmF0aGVyIHRoYW4gdGhlIGltcGxpY2l0IGxhYmVs IGdlbmVyYXRlZCBieSB0aGUgc2VjdGlvbi4gSSB0aGluayB0aGUgcmVhc29uIGlzIHRoYXQgZHVl IHRvIHRoZSBleGNlcHRpb24gdGhyb3dpbmcgYXBwcm9hY2gsIHRoZSBleGlzdGluZyBjb2RlIGhh bmRsZWQgdGhlIHNlY3Rpb24gbGFiZWwgbGF0ZXIgdGhhbiB0aGUgb3RoZXIsIGV2ZW4gaWYgdGhl IHNlY3Rpb24gaXMgZWFybGllciBpbiB0aGUgdGV4dC48L2xpPgo8bGk+dGVzdC90ZXN0X3BhcnNl cnMvdGVzdF9yc3QvdGVzdF9zZWN0aW9uX2hlYWRlcnMucHkgaGFzIG9uZSBkaWFnbm9zdGljIG91 dHB1dCBsZXNzLiBJIHRoaW5rIHRoaXMgZGlhZ25vc3RpYyBpcyBhIGR1cGxpY2F0ZSwgY2F1c2Vk IGJ5IHRoZSByZXRocm93aW5nIG9mIHRoZSBleGNlcHRpb24gZm9yIGJ1YmJsaW5nIHVwIHRoZSBz dGFjay48L2xpPgo8L3VsPgo8aHIvPgo8cD5TZW50IGZyb20gc291cmNlZm9yZ2UubmV0IGJlY2F1 c2UgZG9jdXRpbHMtZGV2ZWxvcEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQgaXMgc3Vic2NyaWJlZCB0 byA8YSBocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNoZXMvIj5o dHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0aWxzL3BhdGNoZXMvPC9hPjwvcD4KPHA+VG8g dW5zdWJzY3JpYmUgZnJvbSBmdXJ0aGVyIG1lc3NhZ2VzLCBhIHByb2plY3QgYWRtaW4gY2FuIGNo YW5nZSBzZXR0aW5ncyBhdCA8YSBocmVmPSJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wL2RvY3V0 aWxzL2FkbWluL3BhdGNoZXMvb3B0aW9ucy4iPmh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvZG9j dXRpbHMvYWRtaW4vcGF0Y2hlcy9vcHRpb25zLjwvYT4gIE9yLCBpZiB0aGlzIGlzIGEgbWFpbGlu ZyBsaXN0LCB5b3UgY2FuIHVuc3Vic2NyaWJlIGZyb20gdGhlIG1haWxpbmcgbGlzdC48L3A+PC9k aXY+ --===============0308403134980078600==-- --===============2796494647852177700==-- --===============7348647378624468473== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============7348647378624468473== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline