mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Add cmd_find_from_winlink_pane and use it in a couple of places, and
make functions that can't fail void.
This commit is contained in:
		
							
								
								
									
										22
									
								
								cmd-find.c
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								cmd-find.c
									
									
									
									
									
								
							@@ -879,7 +879,7 @@ cmd_find_log_state(const char *prefix, struct cmd_find_state *fs)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Find state from a session. */
 | 
			
		||||
int
 | 
			
		||||
void
 | 
			
		||||
cmd_find_from_session(struct cmd_find_state *fs, struct session *s)
 | 
			
		||||
{
 | 
			
		||||
	cmd_find_clear_state(fs, NULL, 0);
 | 
			
		||||
@@ -890,11 +890,10 @@ cmd_find_from_session(struct cmd_find_state *fs, struct session *s)
 | 
			
		||||
	fs->wp = fs->w->active;
 | 
			
		||||
 | 
			
		||||
	cmd_find_log_state(__func__, fs);
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Find state from a winlink. */
 | 
			
		||||
int
 | 
			
		||||
void
 | 
			
		||||
cmd_find_from_winlink(struct cmd_find_state *fs, struct winlink *wl)
 | 
			
		||||
{
 | 
			
		||||
	cmd_find_clear_state(fs, NULL, 0);
 | 
			
		||||
@@ -905,7 +904,6 @@ cmd_find_from_winlink(struct cmd_find_state *fs, struct winlink *wl)
 | 
			
		||||
	fs->wp = wl->window->active;
 | 
			
		||||
 | 
			
		||||
	cmd_find_log_state(__func__, fs);
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Find state from a session and window. */
 | 
			
		||||
@@ -942,6 +940,22 @@ cmd_find_from_window(struct cmd_find_state *fs, struct window *w)
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Find state from a winlink and pane. */
 | 
			
		||||
void
 | 
			
		||||
cmd_find_from_winlink_pane(struct cmd_find_state *fs, struct winlink *wl,
 | 
			
		||||
    struct window_pane *wp)
 | 
			
		||||
{
 | 
			
		||||
	cmd_find_clear_state(fs, NULL, 0);
 | 
			
		||||
 | 
			
		||||
	fs->s = wl->session;
 | 
			
		||||
	fs->wl = wl;
 | 
			
		||||
	fs->idx = fs->wl->idx;
 | 
			
		||||
	fs->w = fs->wl->window;
 | 
			
		||||
	fs->wp = wp;
 | 
			
		||||
 | 
			
		||||
	cmd_find_log_state(__func__, fs);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Find state from a pane. */
 | 
			
		||||
int
 | 
			
		||||
cmd_find_from_pane(struct cmd_find_state *fs, struct window_pane *wp)
 | 
			
		||||
 
 | 
			
		||||
@@ -172,12 +172,7 @@ cmd_split_window_exec(struct cmd *self, struct cmdq_item *item)
 | 
			
		||||
	if (to_free != NULL)
 | 
			
		||||
		free((void *)to_free);
 | 
			
		||||
 | 
			
		||||
	cmd_find_clear_state(&fs, NULL, 0);
 | 
			
		||||
	fs.s = s;
 | 
			
		||||
	fs.wl = wl;
 | 
			
		||||
	fs.w = w;
 | 
			
		||||
	fs.wp = new_wp;
 | 
			
		||||
	cmd_find_log_state(__func__, &fs);
 | 
			
		||||
	cmd_find_from_winlink_pane(&fs, wl, new_wp);
 | 
			
		||||
	hooks_insert(s->hooks, item, &fs, "after-split-window");
 | 
			
		||||
 | 
			
		||||
	return (CMD_RETURN_NORMAL);
 | 
			
		||||
 
 | 
			
		||||
@@ -946,11 +946,7 @@ retry:
 | 
			
		||||
 | 
			
		||||
		/* Find default state if the pane is known. */
 | 
			
		||||
		if (KEYC_IS_MOUSE(key) && m->valid && wp != NULL) {
 | 
			
		||||
			cmd_find_clear_state(&fs, NULL, 0);
 | 
			
		||||
			fs.s = s;
 | 
			
		||||
			fs.wl = fs.s->curw;
 | 
			
		||||
			fs.w = fs.wl->window;
 | 
			
		||||
			fs.wp = wp;
 | 
			
		||||
			cmd_find_from_winlink_pane(&fs, s->curw, wp);
 | 
			
		||||
			cmd_find_log_state(__func__, &fs);
 | 
			
		||||
 | 
			
		||||
			if (!cmd_find_valid_state(&fs))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								tmux.h
									
									
									
									
									
								
							@@ -1744,15 +1744,17 @@ int		 cmd_find_valid_state(struct cmd_find_state *);
 | 
			
		||||
void		 cmd_find_copy_state(struct cmd_find_state *,
 | 
			
		||||
		     struct cmd_find_state *);
 | 
			
		||||
void		 cmd_find_log_state(const char *, struct cmd_find_state *);
 | 
			
		||||
int		 cmd_find_from_session(struct cmd_find_state *,
 | 
			
		||||
void		 cmd_find_from_session(struct cmd_find_state *,
 | 
			
		||||
		     struct session *);
 | 
			
		||||
int		 cmd_find_from_winlink(struct cmd_find_state *,
 | 
			
		||||
void		 cmd_find_from_winlink(struct cmd_find_state *,
 | 
			
		||||
		     struct winlink *);
 | 
			
		||||
int		 cmd_find_from_session_window(struct cmd_find_state *,
 | 
			
		||||
		     struct session *, struct window *);
 | 
			
		||||
int		 cmd_find_from_window(struct cmd_find_state *, struct window *);
 | 
			
		||||
int		 cmd_find_from_pane(struct cmd_find_state *,
 | 
			
		||||
		     struct window_pane *);
 | 
			
		||||
void		 cmd_find_from_winlink_pane(struct cmd_find_state *,
 | 
			
		||||
		     struct winlink *, struct window_pane *);
 | 
			
		||||
 | 
			
		||||
/* cmd.c */
 | 
			
		||||
int		 cmd_pack_argv(int, char **, char *, size_t);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user