summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2014-02-21 08:03:42 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2014-02-21 08:03:42 +0000
commitc310212d28947f35595d945936e04148a39246d8 (patch)
tree93447903c46b28e0bafe6fa234dc245d72bd00a0
parent94d99d54629b182a4266d918ccf80e4daee4567b (diff)
parent9120df33efdbaac82c152ed3d5995e2be7a70411 (diff)
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
-rw-r--r--CHANGES55
-rw-r--r--Makefile.am1
-rw-r--r--cmd-load-buffer.c1
-rw-r--r--cmd-set-option.c6
-rw-r--r--configure.ac2
-rw-r--r--paste.c4
-rw-r--r--server-client.c4
-rw-r--r--window-copy.c4
8 files changed, 69 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index b9ad4e69..17d4d2a8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,58 @@
+CHANGES FROM 1.8 to 1.9, 20 February 2014
+
+NOTE: This release has bumped the tmux protocol version. It is therefore
+advised that the prior tmux server is restarted when this version of tmux is
+installed, to avoid protocol mismatch errors for newer clients trying to
+talk to an older running tmux server.
+
+Incompatible Changes
+====================
+
+* 88 colour support has been removed.
+* 'default-path' has been removed. The new-window command accepts '-c' to
+ cater for this. The previous value of "." can be replaced with: 'neww -c
+ $PWD', the previous value of '' which meant current path of the pane can
+ be specified as: 'neww -c "#{pane_current_path}"'
+
+Deprecated Changes
+==================
+
+* The single format specifiers: #A -> #Z (where defined) have been
+ deprecated and replaced with longer-named equivalents, as listed in the
+ FORMATS section of the tmux manpage.
+* The various foo-{fg,bg,attr} commands have been deprecated and replaced
+ with equivalent foo-style option instead. Currently this is still
+ backwards-compatible, but will be removed over time.
+
+Normal Changes
+==============
+
+* A new environment variable TMUX_TMPDIR is now honoured, allowing the
+ socket directory to be set outside of TMPDIR (/tmp/ if not set).
+* If -s not given to swap-pane the current pane is assumed.
+* A #{pane_syncronized} format specifier has been added to be a conditional
+ format if a pane is in a syncronised mode (c.f. syncronize-panes)
+* Tmux now runs under Cygwin natively.
+* Formats can now be nested within each other and expanded accordingly.
+* Added 'automatic-rename-format' option to allow the automatic rename
+ mechanism to use something other than the default of
+ #{pane_current_command}.
+* new-session learnt '-c' to specify the starting directory for that session
+ and all subsequent windows therein.
+* The session name is now shown in the message printed to the terminal when
+ a session is detached.
+* Lots more format specifiers have been added.
+* Server race conditions have been fixed; in particular commands are not run
+ until after the configuration file is read completely.
+* Case insensitive searching in tmux's copy-mode is now possible.
+* attach-session and switch-client learnt the '-t' option to accept a window
+ and/or a pane to use.
+* Copy-mode is only exited if no selection is in progress.
+* Paste key in copy-mode is now possible to enter text from the clipboard.
+* status-interval set to '0' now works as intended.
+* tmux now supports 256 colours running under fbterm.
+* Many bug fixes!
+
CHANGES FROM 1.7 to 1.8, 26 March 2013
Incompatible Changes
diff --git a/Makefile.am b/Makefile.am
index e5a7286e..a9ad5b97 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,6 +9,7 @@ EXTRA_DIST = \
CHANGES FAQ README TODO COPYING examples compat \
array.h compat.h tmux.h osdep-*.c mdoc2man.awk tmux.1
dist-hook:
+ make clean
grep "^#found_debug=" configure
find $(distdir) -name .svn -type d|xargs rm -Rf
diff --git a/cmd-load-buffer.c b/cmd-load-buffer.c
index 6540aedc..2cb01b97 100644
--- a/cmd-load-buffer.c
+++ b/cmd-load-buffer.c
@@ -169,6 +169,7 @@ cmd_load_buffer_callback(struct client *c, int closed, void *data)
/* No context so can't use server_client_msg_error. */
evbuffer_add_printf(c->stderr_data, "no buffer %d\n", *buffer);
server_push_stderr(c);
+ free(pdata);
}
free(data);
diff --git a/cmd-set-option.c b/cmd-set-option.c
index 15b14f08..5ae4e5c3 100644
--- a/cmd-set-option.c
+++ b/cmd-set-option.c
@@ -307,11 +307,13 @@ cmd_set_option_set(struct cmd *self, struct cmd_q *cmdq,
break;
case OPTIONS_TABLE_COLOUR:
o = cmd_set_option_colour(self, cmdq, oe, oo, value);
- style_update_new(oo, o->name, oe->style);
+ if (o != NULL)
+ style_update_new(oo, o->name, oe->style);
break;
case OPTIONS_TABLE_ATTRIBUTES:
o = cmd_set_option_attributes(self, cmdq, oe, oo, value);
- style_update_new(oo, o->name, oe->style);
+ if (o != NULL)
+ style_update_new(oo, o->name, oe->style);
break;
case OPTIONS_TABLE_FLAG:
o = cmd_set_option_flag(self, cmdq, oe, oo, value);
diff --git a/configure.ac b/configure.ac
index f646a0d0..fec79043 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
# $Id$
# Miscellaneous autofoo bullshit.
-AC_INIT(tmux, 1.9)
+AC_INIT(tmux, 1.10)
AC_CONFIG_AUX_DIR(etc)
AM_INIT_AUTOMAKE([foreign subdir-objects])
diff --git a/paste.c b/paste.c
index 7cbbbfb3..bc9b4686 100644
--- a/paste.c
+++ b/paste.c
@@ -130,8 +130,10 @@ paste_replace(struct paste_stack *ps, u_int idx, char *data, size_t size)
{
struct paste_buffer *pb;
- if (size == 0)
+ if (size == 0) {
+ free(data);
return (0);
+ }
if (idx >= ARRAY_LENGTH(ps))
return (-1);
diff --git a/server-client.c b/server-client.c
index 3630a672..07ef5697 100644
--- a/server-client.c
+++ b/server-client.c
@@ -323,9 +323,9 @@ server_client_check_mouse(struct client *c, struct window_pane *wp)
else if (statusat > 0 && m->y >= (u_int)statusat)
m->y = statusat - 1;
- /* Is this a pane selection? Allow down only in copy mode. */
+ /* Is this a pane selection? */
if (options_get_number(oo, "mouse-select-pane") &&
- (m->event == MOUSE_EVENT_DOWN || wp->mode != &window_copy_mode)) {
+ (m->event == MOUSE_EVENT_DOWN || m->event == MOUSE_EVENT_WHEEL)) {
window_set_active_at(wp->window, m->x, m->y);
server_redraw_window_borders(wp->window);
wp = wp->window->active; /* may have changed */
diff --git a/window-copy.c b/window-copy.c
index 3e9ca492..527c95c2 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -1455,8 +1455,8 @@ window_copy_copy_buffer(struct window_pane *wp, int idx, void *buf, size_t len)
if (idx == -1) {
limit = options_get_number(&global_options, "buffer-limit");
paste_add(&global_buffers, buf, len, limit);
- } else
- paste_replace(&global_buffers, idx, buf, len);
+ } else if (paste_replace(&global_buffers, idx, buf, len) != 0)
+ free(buf);
}
void