l2hinit.perl version of the function (which
overrode a version in latex2html), but
do_cmd_index() was overridden. Since
do_cmd_index() was the only caller, we can trash
this.
define_indexing_macro(): New function used during setup to support
more dynamic dispatch for indexing.
process_index_macros(): New function; implement dynamic dispatching
of indexing support functions, allowing many
targets used in indexing to be shared by
multiple index entries. I.e., something like
\index{foo}\bifuncindex{bar} can now share a
single target anchor.
These indexing changes reduce the amount of clutter in the generated
HTML files. In the reference manual, this cuts the number of targets
by 44%. Targets are less affected when generated by environments
rather than macros.
1. Fixes float divmod so that the quotient it returns is always an integral
value.
2. Fixes float % and float divmod so that the remainder always gets the
right sign (the current code uses a "are the signs different?" test that
doesn't work half the time <wink> when the product of the divisor and the
remainder underflows to 0).
I'm still unsure, but couldn't stand the virtual event trickery so tried a
different sin (adding undo_block_start/stop methods to the Text instance in
EditorWindow.py). Like it or not, it's efficient and works <wink>. Better
idea?
Give the attached a whirl. Even if you hate the implementation, I think
you'll like the results. Think I caught all the "block edit" cmds,
including Format Paragraph, plus subtler ones involving smart indents and
backspacing.
[W]hile trying to dope out how redirection works, stumbled into two
possible glitches. In the first, it doesn't appear to make sense to try to
rename a command that's already been destroyed; in the second, the name
"previous" doesn't really bring to mind "ignore the previous value" <wink>.
meaningful return values: respectively, whether the copy was done, and
the list of files that were copied. This meant some trivial changes in
core.py as well: the Command methods that mirror 'copy_file()' and
'copy_tree()' have to pass on their return values.
of the 'install_py' command rather than 'build_py'. Obviously, this
meant that the 'build_py' and 'install_py' modules had to change; less
obviously, so did 'install' and 'build', since these higher-level
commands must make options available to control the lower-level
commands, and some compilation-related options had to migrate with the
code.