[BACK]Return to cmd-break-pane.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/cmd-break-pane.c between version 1.39 and 1.40

version 1.39, 2016/10/15 09:27:52 version 1.40, 2016/10/16 19:04:05
Line 28 
Line 28 
   
 #define BREAK_PANE_TEMPLATE "#{session_name}:#{window_index}.#{pane_index}"  #define BREAK_PANE_TEMPLATE "#{session_name}:#{window_index}.#{pane_index}"
   
 static enum cmd_retval   cmd_break_pane_exec(struct cmd *, struct cmd_q *);  static enum cmd_retval  cmd_break_pane_exec(struct cmd *, struct cmdq_item *);
   
 const struct cmd_entry cmd_break_pane_entry = {  const struct cmd_entry cmd_break_pane_entry = {
         .name = "break-pane",          .name = "break-pane",
Line 45 
Line 45 
 };  };
   
 static enum cmd_retval  static enum cmd_retval
 cmd_break_pane_exec(struct cmd *self, struct cmd_q *cmdq)  cmd_break_pane_exec(struct cmd *self, struct cmdq_item *item)
 {  {
         struct args             *args = self->args;          struct args             *args = self->args;
         struct winlink          *wl = cmdq->state.sflag.wl;          struct winlink          *wl = item->state.sflag.wl;
         struct session          *src_s = cmdq->state.sflag.s;          struct session          *src_s = item->state.sflag.s;
         struct session          *dst_s = cmdq->state.tflag.s;          struct session          *dst_s = item->state.tflag.s;
         struct window_pane      *wp = cmdq->state.sflag.wp;          struct window_pane      *wp = item->state.sflag.wp;
         struct window           *w = wl->window;          struct window           *w = wl->window;
         char                    *name;          char                    *name;
         char                    *cause;          char                    *cause;
         int                      idx = cmdq->state.tflag.idx;          int                      idx = item->state.tflag.idx;
         struct format_tree      *ft;          struct format_tree      *ft;
         const char              *template;          const char              *template;
         char                    *cp;          char                    *cp;
   
         if (idx != -1 && winlink_find_by_index(&dst_s->windows, idx) != NULL) {          if (idx != -1 && winlink_find_by_index(&dst_s->windows, idx) != NULL) {
                 cmdq_error(cmdq, "index %d already in use", idx);                  cmdq_error(item, "index %d already in use", idx);
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
   
         if (window_count_panes(w) == 1) {          if (window_count_panes(w) == 1) {
                 cmdq_error(cmdq, "can't break with only one pane");                  cmdq_error(item, "can't break with only one pane");
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
         server_unzoom_window(w);          server_unzoom_window(w);
Line 101 
Line 101 
                 if ((template = args_get(args, 'F')) == NULL)                  if ((template = args_get(args, 'F')) == NULL)
                         template = BREAK_PANE_TEMPLATE;                          template = BREAK_PANE_TEMPLATE;
   
                 ft = format_create(cmdq, 0);                  ft = format_create(item, 0);
                 format_defaults(ft, cmdq->state.c, dst_s, wl, wp);                  format_defaults(ft, item->state.c, dst_s, wl, wp);
   
                 cp = format_expand(ft, template);                  cp = format_expand(ft, template);
                 cmdq_print(cmdq, "%s", cp);                  cmdq_print(item, "%s", cp);
                 free(cp);                  free(cp);
   
                 format_free(ft);                  format_free(ft);

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.40