mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		
							
								
								
									
										24
									
								
								cfg.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								cfg.c
									
									
									
									
									
								
							@@ -51,8 +51,7 @@ cfg_done(__unused struct cmdq_item *item, __unused void *data)
 | 
			
		||||
		return (CMD_RETURN_NORMAL);
 | 
			
		||||
	cfg_finished = 1;
 | 
			
		||||
 | 
			
		||||
	if (!RB_EMPTY(&sessions))
 | 
			
		||||
		cfg_show_causes(RB_MIN(sessions, &sessions));
 | 
			
		||||
	cfg_show_causes(NULL);
 | 
			
		||||
 | 
			
		||||
	if (cfg_item != NULL)
 | 
			
		||||
		cmdq_continue(cfg_item);
 | 
			
		||||
@@ -238,11 +237,29 @@ cfg_print_causes(struct cmdq_item *item)
 | 
			
		||||
void
 | 
			
		||||
cfg_show_causes(struct session *s)
 | 
			
		||||
{
 | 
			
		||||
	struct client			*c = TAILQ_FIRST(&clients);
 | 
			
		||||
	struct window_pane		*wp;
 | 
			
		||||
	struct window_mode_entry	*wme;
 | 
			
		||||
	u_int				 i;
 | 
			
		||||
 | 
			
		||||
	if (s == NULL || cfg_ncauses == 0)
 | 
			
		||||
	if (cfg_ncauses == 0)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	if (c != NULL && (c->flags & CLIENT_CONTROL)) {
 | 
			
		||||
		for (i = 0; i < cfg_ncauses; i++) {
 | 
			
		||||
			control_write(c, "%%config-error %s", cfg_causes[i]);
 | 
			
		||||
			free(cfg_causes[i]);
 | 
			
		||||
		}
 | 
			
		||||
		goto out;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (s == NULL) {
 | 
			
		||||
		if (c != NULL && c->session != NULL)
 | 
			
		||||
			s = c->session;
 | 
			
		||||
		else
 | 
			
		||||
			s = RB_MIN(sessions, &sessions);
 | 
			
		||||
	}
 | 
			
		||||
	if (s == NULL || s->attached == 0) /* wait for an attached session */
 | 
			
		||||
		return;
 | 
			
		||||
	wp = s->curw->window->active;
 | 
			
		||||
 | 
			
		||||
@@ -254,6 +271,7 @@ cfg_show_causes(struct session *s)
 | 
			
		||||
		free(cfg_causes[i]);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
out:
 | 
			
		||||
	free(cfg_causes);
 | 
			
		||||
	cfg_causes = NULL;
 | 
			
		||||
	cfg_ncauses = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -335,7 +335,7 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item)
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * If there are still configuration file errors to display, put the new
 | 
			
		||||
	 * session's current window into more mode and display them now.
 | 
			
		||||
	 * session's current window into view mode and display them now.
 | 
			
		||||
	 */
 | 
			
		||||
	if (cfg_finished)
 | 
			
		||||
		cfg_show_causes(s);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								tmux.1
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								tmux.1
									
									
									
									
									
								
							@@ -6532,6 +6532,8 @@ The client is now attached to the session with ID
 | 
			
		||||
.Ar session-id ,
 | 
			
		||||
which is named
 | 
			
		||||
.Ar name .
 | 
			
		||||
.It Ic %config-error Ar error
 | 
			
		||||
An error has happened in a configuration file.
 | 
			
		||||
.It Ic %continue Ar pane-id
 | 
			
		||||
The pane has been continued after being paused (if the
 | 
			
		||||
.Ar pause-after
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user