Guenter Milde
2017-02-06 09:39:36 UTC
Dear David, dear Docutils developers,
I think it is time to roll out the bugfix release 0.13.2.
...
...
Yes, but I'm looking at making more extensive changes first.
The patch that implemented the changes to support
1. Inliner.__init__ is currently a no-op (code: just "pass"). That
smells bad. Why even have the method if it does nothing? Prior to the
patch (in, say, r7640), it initialized self.implicit_dispatch. It
can't do that completely now, but it can initialize an empty
self.implicit_dispatch with a docstring.
2. My coding style is to initialize all instance attributes in the
__init__ method of a class, for easy reference, and include an
attribute docstring for documentation. The Inliner class now breaks
this style. I'd like to fix this.
3. The Inliner.init_customizations method grew from 6 physical lines
of code to almost 140 lines. This was because all of the formerly
statically defined class attributes were brought in, to be defined
dynamically depending on settings.character_level_inline_markup. I
plan to refactor this huge method into a small init_customizations and
shunt all the definitions into another method.
4. That ``args.update(vars(Inliner))`` line is fragile, and should be replaced.
I'll work on all these and propose another patch.
How is work going on this?
Thanks,
Günter
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Docutils-develop mailing list
Docutils-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/docutils-develop
Please use "Reply All" to reply
I think it is time to roll out the bugfix release 0.13.2.
...
... There was an internal change to Docutils in revision 7942 that
refactored some code, and a side effect was to remove some
attributes from the Inliner class (they became locals instead).
refactored some code, and a side effect was to remove some
attributes from the Inliner class (they became locals instead).
Günter, I think the attached patch should also be rolled into a 0.13.2
bugfix release.
Is the patch still "on the table"?bugfix release.
The patch that implemented the changes to support
1. Inliner.__init__ is currently a no-op (code: just "pass"). That
smells bad. Why even have the method if it does nothing? Prior to the
patch (in, say, r7640), it initialized self.implicit_dispatch. It
can't do that completely now, but it can initialize an empty
self.implicit_dispatch with a docstring.
2. My coding style is to initialize all instance attributes in the
__init__ method of a class, for easy reference, and include an
attribute docstring for documentation. The Inliner class now breaks
this style. I'd like to fix this.
3. The Inliner.init_customizations method grew from 6 physical lines
of code to almost 140 lines. This was because all of the formerly
statically defined class attributes were brought in, to be defined
dynamically depending on settings.character_level_inline_markup. I
plan to refactor this huge method into a small init_customizations and
shunt all the definitions into another method.
4. That ``args.update(vars(Inliner))`` line is fragile, and should be replaced.
I'll work on all these and propose another patch.
Thanks,
Günter
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Docutils-develop mailing list
Docutils-***@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/docutils-develop
Please use "Reply All" to reply