aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--TODO6
-rw-r--r--cmd.c32
3 files changed, 25 insertions, 19 deletions
diff --git a/CHANGES b/CHANGES
index 7d2cef9e..9a1e7c8d 100644
--- a/CHANGES
+++ b/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 $
diff --git a/TODO b/TODO
index 8b492cf8..db95e6c2 100644
--- a/TODO
+++ b/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
diff --git a/cmd.c b/cmd.c
index 9ae9848a..0fa4808c 100644
--- a/cmd.c
+++ b/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);
}