Abe Crabtree complains that flushing the log file as often as we do in 0.56
results in unacceptable performance for him on Win2000. Add a checkbox to
revert to the old behaviour.


git-svn-id: svn://svn.tartarus.org/sgt@4988 cda61777-01e9-0310-a592-d414129be87e
Fix obviously stupid segfault. Ahem.


git-svn-id: svn://svn.tartarus.org/sgt@4989 cda61777-01e9-0310-a592-d414129be87e
Support for recursive file transfer in PSFTP.


git-svn-id: svn://svn.tartarus.org/sgt@4990 cda61777-01e9-0310-a592-d414129be87e
Implement mget and mput in PSFTP, supporting wildcards.


git-svn-id: svn://svn.tartarus.org/sgt@4991 cda61777-01e9-0310-a592-d414129be87e
Wildcards in `ls'. I think that completes `psftp-multi'. Woo!


git-svn-id: svn://svn.tartarus.org/sgt@4992 cda61777-01e9-0310-a592-d414129be87e
Jacob points out that I introduced a bug in PSFTP when I did the
timing shakeup: just running `psftp' caused the net/stdin select
loop (on both Unix and Windows) to get confused at the lack of any
network connection and give up immediately. Should now be fixed.


git-svn-id: svn://svn.tartarus.org/sgt@4993 cda61777-01e9-0310-a592-d414129be87e
Implement the `close' command, which terminates an SFTP session but
does not quit PSFTP, so you can then issue another `open' to connect
to somewhere else. This has apparently been trivial for some time,
for exactly the same reasons that `reuse-windows' was so easy, but
it hadn't occurred to me to actually do it until now.


git-svn-id: svn://svn.tartarus.org/sgt@4994 cda61777-01e9-0310-a592-d414129be87e
General mechanism for ensuring a dodgy SFTP server can't return
malicious filenames via FXP_READDIR.


git-svn-id: svn://svn.tartarus.org/sgt@4995 cda61777-01e9-0310-a592-d414129be87e
Apparently SIGCHLD is blocked by default in processes run in a
pterm, which was breaking my bash job notification patch. This is
apparently not the case for xterm, so I've fiddled with it. Not
entirely sure _why_ it did this in the first place, but there we go.


git-svn-id: svn://svn.tartarus.org/sgt@4997 cda61777-01e9-0310-a592-d414129be87e
I'd rather not keep losing these little test files, so here's some
stuff that I can `cat' into a terminal to test particular features
of it.


git-svn-id: svn://svn.tartarus.org/sgt@4999 cda61777-01e9-0310-a592-d414129be87e
I had apparently broken wrapping of double-width characters (again).
Also fixed the new UTF-8 test file so that it tests double-width
wrapping both with _and_ without LATTR_WRAPPED2.


git-svn-id: svn://svn.tartarus.org/sgt@5000 cda61777-01e9-0310-a592-d414129be87e
Divide the do_paint() loop into several subloops. The activity of
going through the line and working out which bits need to be redrawn
is now in a separate loop from the subsequent activity of actually
going through and doing the redraws. This _should_ enable me to
tinker with the which-bits-to-redraw data in between the two, thus
fixing `font-overflow'. However, I thought it would be sensible to
break the work up into two commits so we can track bugs in the
restructuring separately from bugs introduced by the new feature.

Also added a couple more terminal test files.


git-svn-id: svn://svn.tartarus.org/sgt@5001 cda61777-01e9-0310-a592-d414129be87e
Update online help for "-r" and "--" options to get/put commands.
Use command name in error messages rather than hardcoded "get:"/"put:".


git-svn-id: svn://svn.tartarus.org/sgt@5002 cda61777-01e9-0310-a592-d414129be87e
I _think_ I've just fixed `font-overflow'. term->disptext now tracks
the start of every contiguous run passed to do_text() or
do_cursor(), and arranges never to overwrite only part of such a run
on the next update.

I'm a bit worried about this checkin because I've also completely
revamped cursor handling: the cursor was previously being drawn
_outside_ the main loop over the display line, and is now drawn as
part of that loop when it gets to the cursor location. It _seems_ to
still work sensibly, even in complex cases involving LATTR_WIDE and
double-width CJK characters etc, but I won't be entirely happy until
it's had some beta use.


git-svn-id: svn://svn.tartarus.org/sgt@5003 cda61777-01e9-0310-a592-d414129be87e
Document recent SFTP changes:
 - document behaviour of "-r" with mget/mput/reget/reput
 - document "close" command
 - document SFTP wildcard syntax for those who may not be familiar with Unix
   wildcards


git-svn-id: svn://svn.tartarus.org/sgt@5004 cda61777-01e9-0310-a592-d414129be87e
The xfer mechanism wasn't gracefully terminating when an error was
encountered part way through transfer. In particular, this caused
psftp to hang (waiting for FXP_READ replies which had already
arrived) if you try `get' (without -r) on a remote directory.


git-svn-id: svn://svn.tartarus.org/sgt@5005 cda61777-01e9-0310-a592-d414129be87e
Jacob has pointed out why SIGCHLD was blocked, so I've updated the
comment when I unblock it in pty.c to reflect reality. Also I've
moved block_signal() out of pterm.c into signal.c, so I can
conveniently use it for unblocking SIGCHLD rather than having to
reinvent it in pty.c.


git-svn-id: svn://svn.tartarus.org/sgt@5006 cda61777-01e9-0310-a592-d414129be87e
zip apparently gives a warning (`-l used on binary file') when you
use -l on a UTF-8 text file. Move potentially UTF-8 things (the new
testdata files) into a new category of source files, and suppress
zip's warning for that category.


git-svn-id: svn://svn.tartarus.org/sgt@5009 cda61777-01e9-0310-a592-d414129be87e
Missed options off mput help


git-svn-id: svn://svn.tartarus.org/sgt@5010 cda61777-01e9-0310-a592-d414129be87e
Make sure the docs in a Unix release tarball are generated with the correct
version info.


git-svn-id: svn://svn.tartarus.org/sgt@5011 cda61777-01e9-0310-a592-d414129be87e