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

Diff for /src/usr.bin/tmux/cmd-new-window.c between version 1.54 and 1.55

version 1.54, 2015/12/11 12:27:36 version 1.55, 2015/12/13 14:32:38
Line 39 
Line 39 
         "ac:dF:kn:Pt:", 0, -1,          "ac:dF:kn:Pt:", 0, -1,
         "[-adkP] [-c start-directory] [-F format] [-n window-name] "          "[-adkP] [-c start-directory] [-F format] [-n window-name] "
         CMD_TARGET_WINDOW_USAGE " [command]",          CMD_TARGET_WINDOW_USAGE " [command]",
         0,          /*
            * Using PREP_CANFAIL here ensures that the wl is filled in
            * regardless; making PREP_INDEX the thing we want -t to be used for
            * in the specific case.
            */
           CMD_INDEX_T|CMD_CANFAIL,
         cmd_new_window_exec          cmd_new_window_exec
 };  };
   
Line 47 
Line 52 
 cmd_new_window_exec(struct cmd *self, struct cmd_q *cmdq)  cmd_new_window_exec(struct cmd *self, struct cmd_q *cmdq)
 {  {
         struct args             *args = self->args;          struct args             *args = self->args;
         struct session          *s;          struct session          *s = cmdq->state.tflag.s;
         struct winlink          *wl;          struct winlink          *wl = cmdq->state.tflag.wl;
           struct client           *c = cmdq->state.c;
           int                      idx = cmdq->state.tflag.idx;
         const char              *cmd, *path, *template, *cwd, *to_free;          const char              *cmd, *path, *template, *cwd, *to_free;
         char                   **argv, *cause, *cp;          char                   **argv, *cause, *cp;
         int                      argc, idx, detached;          int                      argc, detached;
         struct format_tree      *ft;          struct format_tree      *ft;
         struct environ_entry    *envent;          struct environ_entry    *envent;
   
         if (args_has(args, 'a')) {          if (args_has(args, 'a')) {
                 wl = cmd_find_window(cmdq, args_get(args, 't'), &s);  
                 if (wl == NULL)  
                         return (CMD_RETURN_ERROR);  
                 if ((idx = winlink_shuffle_up(s, wl)) == -1) {                  if ((idx = winlink_shuffle_up(s, wl)) == -1) {
                         cmdq_error(cmdq, "no free window indexes");                          cmdq_error(cmdq, "no free window indexes");
                         return (CMD_RETURN_ERROR);                          return (CMD_RETURN_ERROR);
                 }                  }
         } else {  
                 idx = cmd_find_index(cmdq, args_get(args, 't'), &s);  
                 if (idx == -2)  
                         return (CMD_RETURN_ERROR);  
         }          }
         detached = args_has(args, 'd');          detached = args_has(args, 'd');
   
Line 95 
Line 95 
         to_free = NULL;          to_free = NULL;
         if (args_has(args, 'c')) {          if (args_has(args, 'c')) {
                 ft = format_create(cmdq, 0);                  ft = format_create(cmdq, 0);
                 format_defaults(ft, cmd_find_client(cmdq, NULL, 1), s, NULL,                  format_defaults(ft, c, s, NULL, NULL);
                     NULL);  
                 cwd = to_free = format_expand(ft, args_get(args, 'c'));                  cwd = to_free = format_expand(ft, args_get(args, 'c'));
                 format_free(ft);                  format_free(ft);
         } else if (cmdq->client != NULL && cmdq->client->session == NULL)          } else if (cmdq->client != NULL && cmdq->client->session == NULL)
Line 144 
Line 143 
                         template = NEW_WINDOW_TEMPLATE;                          template = NEW_WINDOW_TEMPLATE;
   
                 ft = format_create(cmdq, 0);                  ft = format_create(cmdq, 0);
                 format_defaults(ft, cmd_find_client(cmdq, NULL, 1), s, wl,                  format_defaults(ft, c, s, wl, NULL);
                     NULL);  
   
                 cp = format_expand(ft, template);                  cp = format_expand(ft, template);
                 cmdq_print(cmdq, "%s", cp);                  cmdq_print(cmdq, "%s", cp);

Legend:
Removed from v.1.54  
changed lines
  Added in v.1.55