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

Diff for /src/usr.bin/tmux/cmd-split-window.c between version 1.106 and 1.107

version 1.106, 2021/08/20 18:59:53 version 1.107, 2021/08/20 19:50:17
Line 56 
Line 56 
         struct args             *args = cmd_get_args(self);          struct args             *args = cmd_get_args(self);
         struct cmd_find_state   *current = cmdq_get_current(item);          struct cmd_find_state   *current = cmdq_get_current(item);
         struct cmd_find_state   *target = cmdq_get_target(item);          struct cmd_find_state   *target = cmdq_get_target(item);
         struct spawn_context     sc;          struct spawn_context     sc = { 0 };
         struct client           *tc = cmdq_get_target_client(item);          struct client           *tc = cmdq_get_target_client(item);
         struct session          *s = target->s;          struct session          *s = target->s;
         struct winlink          *wl = target->wl;          struct winlink          *wl = target->wl;
Line 69 
Line 69 
         char                    *cause, *cp, *copy;          char                    *cause, *cp, *copy;
         size_t                   plen;          size_t                   plen;
         struct args_value       *av;          struct args_value       *av;
           u_int                    count = args_count(args);
   
         if (args_has(args, 'h'))          if (args_has(args, 'h'))
                 type = LAYOUT_LEFTRIGHT;                  type = LAYOUT_LEFTRIGHT;
Line 112 
Line 113 
                 size = -1;                  size = -1;
   
         window_push_zoom(wp->window, 1, args_has(args, 'Z'));          window_push_zoom(wp->window, 1, args_has(args, 'Z'));
         input = (args_has(args, 'I') && args->argc == 0);          input = (args_has(args, 'I') && count == 0);
   
         flags = 0;          flags = 0;
         if (args_has(args, 'b'))          if (args_has(args, 'b'))
                 flags |= SPAWN_BEFORE;                  flags |= SPAWN_BEFORE;
         if (args_has(args, 'f'))          if (args_has(args, 'f'))
                 flags |= SPAWN_FULLSIZE;                  flags |= SPAWN_FULLSIZE;
         if (input || (args->argc == 1 && *args->argv[0] == '\0'))          if (input || (count == 1 && *args_string(args, 0) == '\0'))
                 flags |= SPAWN_EMPTY;                  flags |= SPAWN_EMPTY;
   
         lc = layout_split_pane(wp, type, size, flags);          lc = layout_split_pane(wp, type, size, flags);
Line 128 
Line 129 
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
   
         memset(&sc, 0, sizeof sc);  
         sc.item = item;          sc.item = item;
         sc.s = s;          sc.s = s;
         sc.wl = wl;          sc.wl = wl;
Line 137 
Line 137 
         sc.lc = lc;          sc.lc = lc;
   
         sc.name = NULL;          sc.name = NULL;
         sc.argc = args->argc;          args_vector(args, &sc.argc, &sc.argv);
         sc.argv = args->argv;  
         sc.environ = environ_create();          sc.environ = environ_create();
   
         av = args_first_value(args, 'e');          av = args_first_value(args, 'e');
Line 159 
Line 158 
         if ((new_wp = spawn_pane(&sc, &cause)) == NULL) {          if ((new_wp = spawn_pane(&sc, &cause)) == NULL) {
                 cmdq_error(item, "create pane failed: %s", cause);                  cmdq_error(item, "create pane failed: %s", cause);
                 free(cause);                  free(cause);
                   if (sc.argv != NULL)
                           cmd_free_argv(sc.argc, sc.argv);
                 environ_free(sc.environ);                  environ_free(sc.environ);
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
Line 168 
Line 169 
                 window_remove_pane(wp->window, new_wp);                  window_remove_pane(wp->window, new_wp);
                 cmdq_error(item, "%s", cause);                  cmdq_error(item, "%s", cause);
                 free(cause);                  free(cause);
                   if (sc.argv != NULL)
                           cmd_free_argv(sc.argc, sc.argv);
                 environ_free(sc.environ);                  environ_free(sc.environ);
                 return (CMD_RETURN_ERROR);                  return (CMD_RETURN_ERROR);
         }          }
Line 188 
Line 191 
         cmd_find_from_winlink_pane(&fs, wl, new_wp, 0);          cmd_find_from_winlink_pane(&fs, wl, new_wp, 0);
         cmdq_insert_hook(s, item, &fs, "after-split-window");          cmdq_insert_hook(s, item, &fs, "after-split-window");
   
           if (sc.argv != NULL)
                   cmd_free_argv(sc.argc, sc.argv);
         environ_free(sc.environ);          environ_free(sc.environ);
         if (input)          if (input)
                 return (CMD_RETURN_WAIT);                  return (CMD_RETURN_WAIT);

Legend:
Removed from v.1.106  
changed lines
  Added in v.1.107