mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Revert the command-prefix change which breaks sequences of commands.
This commit is contained in:
		| @@ -59,8 +59,8 @@ cmd_split_window_exec(struct cmd *self, struct cmd_q *cmdq) | ||||
| 	struct window		*w; | ||||
| 	struct window_pane	*wp, *new_wp = NULL; | ||||
| 	struct environ		 env; | ||||
| 	const char		*cmd, *cwd, *shell, *prefix; | ||||
| 	char			*cause, *new_cause, *cmd1; | ||||
| 	const char		*cmd, *cwd, *shell; | ||||
| 	char			*cause, *new_cause; | ||||
| 	u_int			 hlimit; | ||||
| 	int			 size, percentage; | ||||
| 	enum layout_type	 type; | ||||
| @@ -123,18 +123,9 @@ cmd_split_window_exec(struct cmd *self, struct cmd_q *cmdq) | ||||
| 		goto error; | ||||
| 	} | ||||
| 	new_wp = window_add_pane(w, hlimit); | ||||
|  | ||||
| 	if (*cmd != '\0') { | ||||
| 		prefix = options_get_string(&w->options, "command-prefix"); | ||||
| 		xasprintf(&cmd1, "%s%s", prefix, cmd); | ||||
| 	} else | ||||
| 		cmd1 = xstrdup(""); | ||||
| 	if (window_pane_spawn(new_wp, cmd1, shell, cwd, &env, s->tio, | ||||
| 	    &cause) != 0) { | ||||
| 		free(cmd1); | ||||
| 	if (window_pane_spawn( | ||||
| 	    new_wp, cmd, shell, cwd, &env, s->tio, &cause) != 0) | ||||
| 		goto error; | ||||
| 	} | ||||
| 	free(cmd1); | ||||
| 	layout_assign_pane(lc, new_wp); | ||||
|  | ||||
| 	server_redraw_window(w); | ||||
|   | ||||
							
								
								
									
										24
									
								
								names.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								names.c
									
									
									
									
									
								
							| @@ -26,8 +26,8 @@ | ||||
|  | ||||
| #include "tmux.h" | ||||
|  | ||||
| void	 window_name_callback(int, short, void *); | ||||
| char	*parse_window_name(struct window *, const char *); | ||||
| void	 window_name_callback(unused int, unused short, void *); | ||||
| char	*parse_window_name(const char *); | ||||
|  | ||||
| void | ||||
| queue_window_name(struct window *w) | ||||
| @@ -73,9 +73,9 @@ window_name_callback(unused int fd, unused short events, void *data) | ||||
| 		 */ | ||||
| 		if (w->active->cmd != NULL && *w->active->cmd == '\0' && | ||||
| 		    name != NULL && name[0] == '-' && name[1] != '\0') | ||||
| 			wname = parse_window_name(w, name + 1); | ||||
| 			wname = parse_window_name(name + 1); | ||||
| 		else | ||||
| 			wname = parse_window_name(w, name); | ||||
| 			wname = parse_window_name(name); | ||||
| 		free(name); | ||||
| 	} | ||||
|  | ||||
| @@ -98,22 +98,18 @@ default_window_name(struct window *w) | ||||
| 	if (w->active->screen != &w->active->base) | ||||
| 		return (xstrdup("[tmux]")); | ||||
| 	if (w->active->cmd != NULL && *w->active->cmd != '\0') | ||||
| 		return (parse_window_name(w, w->active->cmd)); | ||||
| 	return (parse_window_name(w, w->active->shell)); | ||||
| 		return (parse_window_name(w->active->cmd)); | ||||
| 	return (parse_window_name(w->active->shell)); | ||||
| } | ||||
|  | ||||
| char * | ||||
| parse_window_name(struct window *w, const char *in) | ||||
| parse_window_name(const char *in) | ||||
| { | ||||
| 	char	*copy, *name, *ptr, *prefix; | ||||
| 	size_t	 prefixlen; | ||||
|  | ||||
| 	prefix = options_get_string(&w->options, "command-prefix"); | ||||
| 	prefixlen = strlen(prefix); | ||||
| 	char	*copy, *name, *ptr; | ||||
|  | ||||
| 	name = copy = xstrdup(in); | ||||
| 	if (strncmp(name, prefix, prefixlen) == 0) | ||||
| 		name = name + prefixlen; | ||||
| 	if (strncmp(name, "exec ", (sizeof "exec ") - 1) == 0) | ||||
| 		name = name + (sizeof "exec ") - 1; | ||||
|  | ||||
| 	while (*name == ' ') | ||||
| 		name++; | ||||
|   | ||||
| @@ -502,11 +502,6 @@ const struct options_table_entry window_options_table[] = { | ||||
| 	  .default_num = 1 | ||||
| 	}, | ||||
|  | ||||
| 	{ .name = "command-prefix", | ||||
| 	  .type = OPTIONS_TABLE_STRING, | ||||
| 	  .default_str = "exec " | ||||
| 	}, | ||||
|  | ||||
| 	{ .name = "force-height", | ||||
| 	  .type = OPTIONS_TABLE_NUMBER, | ||||
| 	  .minimum = 0, | ||||
|   | ||||
							
								
								
									
										7
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								tmux.1
									
									
									
									
									
								
							| @@ -2750,13 +2750,6 @@ Set clock colour. | ||||
| .Xc | ||||
| Set clock hour format. | ||||
| .Pp | ||||
| .It Ic command-prefix Ar string | ||||
| String prefixed to commands (apart from a plain shell as set by the | ||||
| .Ic default-shell | ||||
| option). | ||||
| The default is | ||||
| .Ql "exec\ " . | ||||
| .Pp | ||||
| .It Ic force-height Ar height | ||||
| .It Ic force-width Ar width | ||||
| Prevent | ||||
|   | ||||
							
								
								
									
										11
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								window.c
									
									
									
									
									
								
							| @@ -314,24 +314,15 @@ window_create(const char *name, const char *cmd, const char *shell, | ||||
| { | ||||
| 	struct window		*w; | ||||
| 	struct window_pane	*wp; | ||||
| 	const char		*prefix; | ||||
| 	char			*cmd1; | ||||
|  | ||||
| 	w = window_create1(sx, sy); | ||||
| 	wp = window_add_pane(w, hlimit); | ||||
| 	layout_init(w, wp); | ||||
|  | ||||
| 	if (*cmd != '\0') { | ||||
| 		prefix = options_get_string(&w->options, "command-prefix"); | ||||
| 		xasprintf(&cmd1, "%s%s", prefix, cmd); | ||||
| 	} else | ||||
| 		cmd1 = xstrdup(""); | ||||
| 	if (window_pane_spawn(wp, cmd1, shell, cwd, env, tio, cause) != 0) { | ||||
| 	if (window_pane_spawn(wp, cmd, shell, cwd, env, tio, cause) != 0) { | ||||
| 		window_destroy(w); | ||||
| 		free(cmd1); | ||||
| 		return (NULL); | ||||
| 	} | ||||
| 	free(cmd1); | ||||
|  | ||||
| 	w->active = TAILQ_FIRST(&w->panes); | ||||
| 	if (name != NULL) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nicholas Marriott
					Nicholas Marriott