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>.
Fred Drake [Mon, 3 May 1999 14:29:07 +0000 (14:29 +0000)]
Make sure latex2html doesn't produce a hard link between foo/foo.html
and foo/index.html. Make a copy instead. (Appearantly some tar
openers on non-Unixlike systems can't handle hard links.)
Fred Drake [Mon, 3 May 1999 14:27:45 +0000 (14:27 +0000)]
Make sure latex2html doesn't produce a hard link from $part/$part.html
and $part/index.html. Make a copy instead. (Appearantly some tar
openers on non-Unixlike systems can't handle hard links.)
Greg Ward [Sun, 2 May 1999 21:42:05 +0000 (21:42 +0000)]
The 'copy_file()' and 'copy_tree()' functions in util.py now have
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.
Greg Ward [Sun, 2 May 1999 21:39:13 +0000 (21:39 +0000)]
Rearranged things so that compilation of .py files is the responsibility
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.
Fred Drake [Thu, 29 Apr 1999 19:06:56 +0000 (19:06 +0000)]
make_nav_panel(): Remove the spurious NAME="tex2html\d+" attributes
added to the anchors in the navigation bars. These
are added somewhere deep with l2h, and are stupid.
Fred Drake [Thu, 29 Apr 1999 15:42:19 +0000 (15:42 +0000)]
Generate index.html from index.html.in. This avoids having to modify the
index to update the version number; boilerplate.tex remains the only document
source for this information.
Fred Drake [Thu, 29 Apr 1999 13:41:17 +0000 (13:41 +0000)]
Don't point readers to rand, point to random! And make it a hyperlink
while you're at it.
Also, when discussing order of reading, make it clear that chapter 2
is assumed background material for the remainder of the manual.
That's needed for terminology if nothing else!
Fred Drake [Thu, 29 Apr 1999 13:20:25 +0000 (13:20 +0000)]
Explain comments at the start of chapter 3. This is needed since they
appear in the examples without any further explanation, and the
tutorial doesn't have this information explicit anywhere else.
Omission reported by Jon Black <jblack@Ridgeway-Sys.com>.
Fred Drake [Wed, 28 Apr 1999 17:38:31 +0000 (17:38 +0000)]
Added test case that includes a comma in the full name. This tests
for an old bug that's been gone a while, but was still documented
until a few minutes from now.
Fred Drake [Wed, 28 Apr 1999 17:11:21 +0000 (17:11 +0000)]
setup_column_alignments(): Adding valign=baseline to the <td> tag
makes the alignment work on Navigator as
well as IE. Uglier HTML, but it looks
right.
Fred Drake [Wed, 28 Apr 1999 13:54:30 +0000 (13:54 +0000)]
do_cmd_seetext(): Clean up so we get proper nesting of <div>s. This
fixes a rendering problem on IE5.
General adjustments to the table* environments, including using
<thead> and <tbody>. Attempt to adjust the vertical alignment of the
table cells so that the baseline of the first cell matches the
baseline of the remaining cells: When the first cell is small and the
second cell of the same row is multi-line, the first cell was
vertically centered by default. Specifying valign=baseline fixes the
problem on IE, but Netscape seems to ignore both valign=top and
valign=baseline (even though valign is NS's fault!). Make the
horizontal alignment of 'p' columns left instead of center (for the
headings).
Barry Warsaw [Tue, 27 Apr 1999 15:56:53 +0000 (15:56 +0000)]
When selecting a radio button in the TextViewer (to change a specific
text widget attribute), the color the attribute currently has is set
in the main widget.
Cast f.tell() result to int() in _addval(), so it works even on
platforms where tell() returns a long. (Perhaps tell() should be
fixed too?) Reported by Greg Humphreys.
Barry Warsaw [Mon, 26 Apr 1999 23:17:16 +0000 (23:17 +0000)]
Lots of changes to support loading alternative color name database.
You can switch database by just loading the new one; the list window
and nearest colors adapt to the new database.
Some reorganizing of code. Also, the name of the database file is
stored in the ~/.pynche pickle. If it can't be loaded, fallbacks are
used.
Ho ho ho -- that's trickier than it sounded! The colorizer is working with
"line.col" strings instead of Text marks, and the absolute coordinates of
the point of interest can change across the self.update call (voice of
baffled experience, when two quick backspaces no longer fooled it, but a
backspace followed by a quick ENTER did <wink>).
Anyway, the attached appears to do the trick. CPU usage goes way up when
typing quickly into a long triple-quoted string, but the latency is fine for
me (a relatively fast typist on a relatively slow machine). Most of the
changes here are left over from reducing the # of vrbl names to help me
reason about the logic better; I hope the code is a *little* easier to
Jack Jansen [Sun, 25 Apr 1999 21:37:50 +0000 (21:37 +0000)]
Bill Bedford's Apple Data Detector extensions for Python. Unchanged, except for the readme filename. Untested too, because I don't have ADD/IAD installed yet.
Apparently __GNU_LIBRARY__ is defined for glibc as well as for libc5.
The test really wanted to distinguish between the two. So now we test
for __GLIBC__ instead. I have confirmed that this works for glibc and
I have an email from Christian Tanzer confirming that it works for
libc5, so it should be fine.
Fred Drake [Fri, 23 Apr 1999 20:54:57 +0000 (20:54 +0000)]
Patch from Greg Ward adding descriptions of S_IMODE() and S_IFMT(),
and an explanation of why any of stat.S_*() would be used instead of
os.path.is*(). (With some really small enhancements by me.)