mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-03 16:46:18 +00:00 
			
		
		
		
	Handle bad session/client properly.
This commit is contained in:
		
							
								
								
									
										6
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								CHANGES
									
									
									
									
									
								
							@@ -1,3 +1,7 @@
 | 
			
		||||
27 June 2008
 | 
			
		||||
 | 
			
		||||
* Handle nonexistent session or client to -t properly.
 | 
			
		||||
 | 
			
		||||
25 June 2008
 | 
			
		||||
 | 
			
		||||
* select-prompt command to allow a window to be selected at a prompt. Only
 | 
			
		||||
@@ -573,4 +577,4 @@
 | 
			
		||||
  (including mutt, emacs). No status bar yet and no key remapping or other
 | 
			
		||||
  customisation.
 | 
			
		||||
 | 
			
		||||
$Id: CHANGES,v 1.144 2008-06-25 20:43:13 nicm Exp $
 | 
			
		||||
$Id: CHANGES,v 1.145 2008-06-27 17:10:01 nicm Exp $
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								TODO
									
									
									
									
									
								
							@@ -53,8 +53,7 @@
 | 
			
		||||
- document buffer stuff
 | 
			
		||||
- document next/prev word
 | 
			
		||||
- fix prompt scrolling when line exceeds space **** 
 | 
			
		||||
- commands:
 | 
			
		||||
		save-buffer -b number filename
 | 
			
		||||
- commands:	save-buffer -b number filename
 | 
			
		||||
		load-buffer -b number filename
 | 
			
		||||
  	      	copy-buffer -s src-session -t dst-session -a src-index -b dst-index
 | 
			
		||||
	       		    (from other session)
 | 
			
		||||
@@ -74,4 +73,5 @@
 | 
			
		||||
- next prev word etc in command prompt
 | 
			
		||||
- split keys in command prompt/scroll mode/copy mode into vi and emacs and
 | 
			
		||||
  have a "edit-mode" option select which keymap
 | 
			
		||||
 | 
			
		||||
- zombie windows: don't disappear when the command dies. new command
 | 
			
		||||
  	 respawn-window [command] to restart; ommitting commands uses previous
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								cmd.c
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								cmd.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: cmd.c,v 1.58 2008-06-25 20:43:14 nicm Exp $ */
 | 
			
		||||
/* $Id: cmd.c,v 1.59 2008-06-27 17:10:01 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -338,13 +338,15 @@ cmd_find_client(struct cmd_ctx *ctx, const char *arg)
 | 
			
		||||
{
 | 
			
		||||
	struct client	*c;
 | 
			
		||||
 | 
			
		||||
	if ((c = arg_parse_client(arg)) == NULL)
 | 
			
		||||
	if (arg == NULL)
 | 
			
		||||
		c = ctx->curclient;
 | 
			
		||||
	if (c == NULL) {
 | 
			
		||||
		if (arg != NULL)
 | 
			
		||||
			ctx->error(ctx, "client not found: %s", arg);
 | 
			
		||||
		else
 | 
			
		||||
			ctx->error(ctx, "no client found");
 | 
			
		||||
	else {
 | 
			
		||||
		if ((c = arg_parse_client(arg)) == NULL) {
 | 
			
		||||
			if (arg != NULL)
 | 
			
		||||
				ctx->error(ctx, "client not found: %s", arg);
 | 
			
		||||
			else
 | 
			
		||||
				ctx->error(ctx, "no client found");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return (c);
 | 
			
		||||
}
 | 
			
		||||
@@ -354,15 +356,15 @@ cmd_find_session(struct cmd_ctx *ctx, const char *arg)
 | 
			
		||||
{
 | 
			
		||||
	struct session	*s;
 | 
			
		||||
 | 
			
		||||
	if ((s = arg_parse_session(arg)) == NULL)
 | 
			
		||||
		s = ctx->cursession;
 | 
			
		||||
	if (s == NULL)
 | 
			
		||||
	if (arg == NULL)
 | 
			
		||||
		s = cmd_current_session(ctx);
 | 
			
		||||
	if (s == NULL) {
 | 
			
		||||
		if (arg != NULL)
 | 
			
		||||
			ctx->error(ctx, "session not found: %s", arg);
 | 
			
		||||
		else
 | 
			
		||||
			ctx->error(ctx, "no session found");
 | 
			
		||||
	else {
 | 
			
		||||
		if ((s = arg_parse_session(arg)) == NULL) {
 | 
			
		||||
			if (arg != NULL)
 | 
			
		||||
				ctx->error(ctx, "session not found: %s", arg);
 | 
			
		||||
			else
 | 
			
		||||
				ctx->error(ctx, "no session found");
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	return (s);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user