and term_reconfig() now passes in a new structure which is copied
over the top. This means that the old and new structures can be
compared, and the _current_ as well as default states of auto wrap
mode, DEC origin mode, BCE, blinking text and character classes can
be conveniently reconfigured in mid-session without requiring a
terminal reset.
[originally from svn r2557]
window.c:90: warning: `do_mouse_wheel_msg' declared `static' but never defined
Introduced in 1.185 [r1499]. This function doesn't appear to ever have
existed.
[originally from svn r2334]
[r1499 == d6016149bf]
absent, and also (I think) all the frontend request functions (such
as request_resize) take a context pointer, so that multiple windows
can be handled sensibly. I wouldn't swear to this, but I _think_
that only leaves the Unicode stuff as the last stubborn holdout.
[originally from svn r2147]
lpage_send out into the line discipline, making them _clients_ of
the Unicode layer rather than part of it. This means they can access
ldisc->term, which in turn means I've been able to remove the
temporary global variable `term'. We're slowly getting there.
[originally from svn r2143]
As a result I've now been able to turn the global variables `back'
and `backhandle' into module-level statics in the individual front
ends. Now _that's_ progress!
[originally from svn r2142]
each backend now stores all its internal variables in a big struct,
and each backend function gets a pointer to this struct passed to
it. This still isn't the end of the work - lots of subsidiary things
still use globals, notably all the cipher and compressor modules and
the X11 forwarding authentication stuff. But ssh.c itself has now
been transformed, and that was the really painful bit, so from here
on it all ought to be a sequence of much smaller and simpler pieces
of work.
[originally from svn r2127]
all the global and function-static variables out of terminal.c into
a dynamically allocated data structure. Note that this does not yet
confer the ability to run more than one of them in the same process,
because other things (the line discipline, the back end) are still
global, and also in particular the address of the dynamically
allocated terminal-data structure is held in a global variable
`term'. But what I've got here represents a reasonable stopping
point at which to check things in. In _theory_ this should all still
work happily, on both Unix and Windows. In practice, who knows?
[originally from svn r2115]
it's automatically deactivated by any keypress, so that command-line
beeps from (e.g.) filename completion don't suddenly stop occurring,
but it still provides a rapid response to an accidental spewing of a
binary to your terminal.
[originally from svn r2107]
The current pty.c backend is temporarily a loopback device for
terminal emulator testing, the display handling is only just enough
to show that terminal.c is functioning, the keyboard handling is
laughable, and most features are absent. Next step: bring output and
input up to a plausibly working state, and put a real pty on the
back to create a vaguely usable prototype. Oh, and a scrollbar would
be nice too.
In _theory_ the Windows builds should still work fine after this...
[originally from svn r2010]
function, because it's silly to have two (and because the old one
was not the same as the new one, violating the Principle of Least
Surprise).
[originally from svn r1811]
now be processed in cmdline.c, which is called from all utilities
(well, not Pageant or PuTTYgen). This should mean we get to
standardise almost all options across almost all tools. Also one
major change: `-load' is now the preferred option for loading a
saved session in PuTTY proper. `@session' still works but is
deprecated.
[originally from svn r1799]
to avoid calling term_out() during a drag-select, it's false to
assume that all drags are selects - some are xterm mouse-reported
drags, and term_out absolutely _should_ be called in those so that
the application can show the dragged object moving. Should now be
fixed.
[originally from svn r1590]
[r1517 == 02a926f6c1]
Specifically, we explicitly closesocket() all open sockets, which
appears to be necessary since otherwise Windows sends RST rather
than FIN. I'm _sure_ that's a Windows bug, but there we go.
[originally from svn r1574]
even on systems where the version number check thinks we should be
expecting a dynamically registered message number. I have a
suspicion the version check isn't accurate in all circumstances; and
in any case, in a situation like this where Windows might send you
either of two things, it's better to be ready to deal with both than
to try and second-guess which one you'll get.
[originally from svn r1549]
if the PuTTY window has the mouse capture (i.e. a drag-select is in
progress). This means you can drag-select at your leisure without
the screen contents wandering around providing you with a moving
target. Likewise dragging the scrollbar to find a piece of history
in the scrollback.
[originally from svn r1517]
mouse capture, which in turn will only occur if the initial click
was in the PuTTY client area. Prevents mouse drag events without an
initiating click, and also prevents selection occurring at
unexpected moments such as if you move the mouse before releasing
the second click after double-clicking the title bar to maximise the
window.
[originally from svn r1515]
[r1499]. For some reason Borland builds were working perfectly OK
without it, but VC builds were failing. *shrug*
[originally from svn r1500]
[r1499 == d6016149bf]
cursor and app keypad modes are now once again independently
switchable. The VT100 and VT102 manuals may have done it RDB's way
as he said, but xterm and rxvt disagree and at least one app depends
on the xterm way. It'll have to become a configurable option if
anyone has trouble with this.
[originally from svn r1495]
[r1105 == 9f32a1da35]
sick of recompiling to enable packet dumps. SSH packet dumping is
now provided as a logging option, and dumps to putty.log like all
the other logging options. While I'm at it I cleaned up the format
so that packet types are translated into strings for easy browsing.
POSSIBLE SIDE EFFECT: in the course of this work I had to re-enable
the SSH1 packet length checks which it turns out hadn't actually
been active for some time, so it's possible things might break as a
result. If need be I can always disable those checks for the 0.52
release and think about it more carefully later.
[originally from svn r1493]
full-screen, then selected Change Settings and then changed the
resize behaviour, ranging from the window staying FS but acquiring
borders to the window restoring its previous size and _failing_ to
acquire borders. Should now all be fixed.
[originally from svn r1470]
(which I'll comment at some stage) should combine the believable
semantics of RDB's fullscreen-by-maximise mode with the multi-
monitor friendliness of Wez Furlong's approach while also working on
Win98. If we're lucky.
[originally from svn r1464]
uses to manipulate the window (minimise, maximise, front, back,
move, resize) and report things about the window (is it minimised or
maximised, how big is it, what's its title). Missing are ESC[4;X;Yt
(resize to a specified pixel size; our resize code doesn't like it)
and ESC[19;X;Yt (report size of _screen_ in _characters_, which it
isn't even obvious how to do when you've got a variable font size).
[originally from svn r1414]