Add destroy entry to TODO.
Pass flags into cmdq_guard as an argument since sometimes cmdq->cmd can be
NULL. Avoids crash when a command in a command client can't be parsed.
Make recalculate_sizes() handle an empty window with no active pane. This can
happen when a window is in two sessions - it isn't destroyed immediately when
the pane goes away but is left until the last session is destroyed. Fixes
problems with grouped sessions reported by Daniel Ralston.
Grouped sessions were being leaked on destroy, correctly free them.
Missing space in refresh-client synopsis.
Don't add client formats when they are NULL.
Don't leak formats if they are added multiple times.
Add formats for window flags.
Allow the file descriptor received from the client to be -1 - it can be on
Cygwin when stdin is not a terminal. Reported by A Young, SF bug 52.
Only include actual trailing spaces not unused cells with capturep -J, from
George Nachman.
Handle input mouse positions <33 (we already can generate them).
+ to TODO.
Add length limit operator for formats.
Allow nested format expansion.
Add automatic-rename-format option allowing automatic rename to use something
other than pane_current_command.
Accept multiple parameters to SM/RM/DECSET/DECRST, based on a diff from Hayaki
Saito.
Assign mouse x/y coords before checking them

When receiving mouse inputs, we should set the x/y coordinates earlier than
we currently do, so that we aren't off-by-one in the case when the statusbar
is at the top of the screen.
Renumber windows: Lookup lastw via window not index

When calling 'movew -r' on a session to reorder the winlinks, ensure when
adding back in the information for the lastw stack that we look up the
winlink based on the window and not its index.

Using the index doesn't make sense here because when comparing it to the old
set, it will never match since the winlink has been renumbered.

Bug reported by Ben Boeckel.
choose-tree: Reset top when toggling items

When choose-tree is told to expand/collapse items (especially when first
rendering collapsed to just show sessions), ensure that in addition to
setting the selected item, that the item itself appears on the bottom of the
screen, rather than off screen.

This was causing rendering glitches when a very small tmux window tried to
render a list of items in choose-tree much larger than itself, and the
selected item appeared off screen, and didn't show the selection until the
selection had wrapped around to the top of the screen.
Clear window->flags when clearing winlinks

When clearing WINLINK_ALERTFLAGS for all sessions, we must also, for that
window, clear the window->flags as well, otherwise sessions may well still
see flags for winlinks long since cleared.

This therfore introduces WINDOW_ALERTFLAGS to help with this.