The branch, master has been updated
       via  f81d72326458ec421348ab5aecc7038c1850407c (commit)
       via  e487b87f6f5bb862f9b185f3791b99fa99083ce9 (commit)
       via  1e20153b6e90e6bfd4643667dad3d9971636ef6b (commit)
      from  afd5e978cf8dca6dcd824b224ce798f6b7522605 (commit)

- Log -----------------------------------------------------------------
commit f81d72326458ec421348ab5aecc7038c1850407c
Merge: e487b87 afd5e97
Author: Nicholas Marriott <[email protected]>
Commit: Nicholas Marriott <[email protected]>

    Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code

 cfg.c                |    2 +-
 cmd-command-prompt.c |    3 +--
 cmd-confirm-before.c |    3 +--
 cmd.c                |    5 ++++-
 control.c            |    3 +--
 key-bindings.c       |    3 +--
 server-client.c      |    3 +--
 server-fn.c          |    2 +-
 tmux.h               |    2 +-
 window-choose.c      |    3 +--
 10 files changed, 13 insertions(+), 16 deletions(-)


commit e487b87f6f5bb862f9b185f3791b99fa99083ce9
Author: Nicholas Marriott <[email protected]>
Commit: Nicholas Marriott <[email protected]>

    Clear last attributes after reset in string_cells, from George Nachman.
---
 grid.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/grid.c b/grid.c
index 3c32f22..7177822 100644
--- a/grid.c
+++ b/grid.c
@@ -511,6 +511,7 @@ grid_string_cells_code(const struct grid_cell *lastgc,
        for (i = 0; i < nitems(attrs); i++) {
                if (!(attr & attrs[i].mask) && (lastattr & attrs[i].mask)) {
                        s[n++] = 0;
+                       lastattr &= GRID_ATTR_CHARSET;
                        break;
                }
        }
@@ -523,7 +524,8 @@ grid_string_cells_code(const struct grid_cell *lastgc,
        /* If the foreground c changed, append its parameters. */
        nnewc = grid_string_cells_fg(gc, newc);
        noldc = grid_string_cells_fg(lastgc, oldc);
-       if (nnewc != noldc || memcmp(newc, oldc, nnewc * sizeof newc[0]) != 0) {
+       if (nnewc != noldc ||
+           memcmp(newc,oldc, nnewc * sizeof newc[0]) != 0) {
                for (i = 0; i < nnewc; i++)
                        s[n++] = newc[i];
        }
@@ -531,7 +533,8 @@ grid_string_cells_code(const struct grid_cell *lastgc,
        /* If the background c changed, append its parameters. */
        nnewc = grid_string_cells_bg(gc, newc);
        noldc = grid_string_cells_bg(lastgc, oldc);
-       if (nnewc != noldc || memcmp(newc, oldc, nnewc * sizeof newc[0]) != 0) {
+       if (nnewc != noldc ||
+           memcmp(newc, oldc, nnewc * sizeof newc[0]) != 0) {
                for (i = 0; i < nnewc; i++)
                        s[n++] = newc[i];
        }


commit 1e20153b6e90e6bfd4643667dad3d9971636ef6b
Author: Nicholas Marriott <[email protected]>
Commit: Nicholas Marriott <[email protected]>

    Fix so capture-pane/save-buffer can work in control clients, from George
    Nachman.
---
 cmd-capture-pane.c |    5 ++++-
 cmd-save-buffer.c  |    8 ++++++--
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/cmd-capture-pane.c b/cmd-capture-pane.c
index 80be016..83ec303 100644
--- a/cmd-capture-pane.c
+++ b/cmd-capture-pane.c
@@ -44,7 +44,7 @@ enum cmd_retval
 cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
 {
        struct args             *args = self->args;
-       struct client           *c = ctx->cmdclient;
+       struct client           *c;
        struct window_pane      *wp;
        char                    *buf, *line, *cause;
        struct screen           *s;
@@ -106,6 +106,9 @@ cmd_capture_pane_exec(struct cmd *self, struct cmd_ctx *ctx)
        }
 
        if (args_has(args, 'p')) {
+               c = ctx->curclient;
+               if (c == NULL || !(c->flags & CLIENT_CONTROL))
+                       c = ctx->cmdclient;
                if (c == NULL) {
                        ctx->error(ctx, "can't write to stdout");
                        return (CMD_RETURN_ERROR);
diff --git a/cmd-save-buffer.c b/cmd-save-buffer.c
index 638c574..1d39bc9 100644
--- a/cmd-save-buffer.c
+++ b/cmd-save-buffer.c
@@ -45,7 +45,7 @@ enum cmd_retval
 cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
 {
        struct args             *args = self->args;
-       struct client           *c = ctx->cmdclient;
+       struct client           *c;
        struct session          *s;
        struct paste_buffer     *pb;
        const char              *path, *newpath, *wd;
@@ -76,13 +76,17 @@ cmd_save_buffer_exec(struct cmd *self, struct cmd_ctx *ctx)
 
        path = args->argv[0];
        if (strcmp(path, "-") == 0) {
+               c = ctx->curclient;
+               if (c == NULL || !(c->flags & CLIENT_CONTROL))
+                       c = ctx->cmdclient;
                if (c == NULL) {
-                       ctx->error(ctx, "%s: can't write to stdout", path);
+                       ctx->error(ctx, "can't write to stdout");
                        return (CMD_RETURN_ERROR);
                }
                evbuffer_add(c->stdout_data, pb->data, pb->size);
                server_push_stdout(c);
        } else {
+               c = ctx->cmdclient;
                if (c != NULL)
                        wd = c->cwd;
                else if ((s = cmd_current_session(ctx, 0)) != NULL) {


-----------------------------------------------------------------------

Summary of changes:
 cmd-capture-pane.c |    5 ++++-
 cmd-save-buffer.c  |    8 ++++++--
 grid.c             |    7 +++++--
 3 files changed, 15 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
tmux

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
tmux-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to