=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-find.c,v retrieving revision 1.17 retrieving revision 1.18 diff -c -r1.17 -r1.18 *** src/usr.bin/tmux/cmd-find.c 2015/10/28 09:51:55 1.17 --- src/usr.bin/tmux/cmd-find.c 2015/12/13 15:00:37 1.18 *************** *** 1,4 **** ! /* $OpenBSD: cmd-find.c,v 1.17 2015/10/28 09:51:55 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: cmd-find.c,v 1.18 2015/12/13 15:00:37 nicm Exp $ */ /* * Copyright (c) 2015 Nicholas Marriott *************** *** 76,82 **** int cmd_find_get_pane_with_window(struct cmd_find_state *, const char *); void cmd_find_clear_state(struct cmd_find_state *, struct cmd_q *, int); ! void cmd_find_log_state(const char *, const char *, struct cmd_find_state *); struct cmd_find_state *cmd_find_target(struct cmd_q *, const char *, enum cmd_find_type, int); --- 76,82 ---- int cmd_find_get_pane_with_window(struct cmd_find_state *, const char *); void cmd_find_clear_state(struct cmd_find_state *, struct cmd_q *, int); ! void cmd_find_log_state(const char *, struct cmd_find_state *); struct cmd_find_state *cmd_find_target(struct cmd_q *, const char *, enum cmd_find_type, int); *************** *** 827,832 **** --- 827,839 ---- char *colon, *period, *copy = NULL; const char *session, *window, *pane; + /* Log the arguments. */ + if (target == NULL) + log_debug("%s: target none, type %d", __func__, type); + else + log_debug("%s: target %s, type %d", __func__, target, type); + log_debug("%s: cmdq %p, flags %#x", __func__, cmdq, flags); + /* Find current state. */ cmd_find_clear_state(¤t, cmdq, flags); if (server_check_marked() && (flags & CMD_FIND_DEFAULT_MARKED)) { *************** *** 873,879 **** cmdq_error(cmdq, "no mouse target"); goto error; } ! return (&fs); } /* Marked target is a plain ~ or {marked}. */ --- 880,886 ---- cmdq_error(cmdq, "no mouse target"); goto error; } ! goto found; } /* Marked target is a plain ~ or {marked}. */ *************** *** 888,894 **** fs.idx = fs.wl->idx; fs.w = fs.wl->window; fs.wp = marked_window_pane; ! return (&fs); } /* Find separators if they exist. */ --- 895,901 ---- fs.idx = fs.wl->idx; fs.w = fs.wl->window; fs.wp = marked_window_pane; ! goto found; } /* Find separators if they exist. */ *************** *** 1053,1065 **** --- 1060,1075 ---- free(copy); if (flags & CMD_FIND_WINDOW_INDEX) current.idx = -1; + cmd_find_log_state(__func__, ¤t); return (¤t); error: free(copy); + log_debug(" error"); return (NULL); found: + cmd_find_log_state(__func__, &fs); free(copy); return (&fs); *************** *** 1081,1109 **** /* Log the result. */ void ! cmd_find_log_state(const char *f, const char *target, struct cmd_find_state *fs) { - log_debug("%s: target %s%s", f, target == NULL ? "none" : target, - fs != NULL ? "" : " (failed)"); - if (fs == NULL) - return; if (fs->s != NULL) ! log_debug("\ts=$%u", fs->s->id); else ! log_debug("\ts=none"); if (fs->wl != NULL) { ! log_debug("\twl=%u %d w=@%u %s", fs->wl->idx, fs->wl->window == fs->w, fs->w->id, fs->w->name); } else ! log_debug("\twl=none"); if (fs->wp != NULL) ! log_debug("\twp=%%%u", fs->wp->id); else ! log_debug("\twp=none"); if (fs->idx != -1) ! log_debug("\tidx=%d", fs->idx); else ! log_debug("\tidx=none"); } /* Find the current session. */ --- 1091,1115 ---- /* Log the result. */ void ! cmd_find_log_state(const char *prefix, struct cmd_find_state *fs) { if (fs->s != NULL) ! log_debug("%s: s=$%u", prefix, fs->s->id); else ! log_debug("%s: s=none", prefix); if (fs->wl != NULL) { ! log_debug("%s: wl=%u %d w=@%u %s", prefix, fs->wl->idx, fs->wl->window == fs->w, fs->w->id, fs->w->name); } else ! log_debug("%s: wl=none", prefix); if (fs->wp != NULL) ! log_debug("%s: wp=%%%u", prefix, fs->wp->id); else ! log_debug("%s: wp=none", prefix); if (fs->idx != -1) ! log_debug("%s: idx=%d", prefix, fs->idx); else ! log_debug("%s: idx=none", prefix); } /* Find the current session. */ *************** *** 1114,1120 **** int flags = CMD_FIND_QUIET; fs = cmd_find_target(cmdq, NULL, CMD_FIND_SESSION, flags); - cmd_find_log_state(__func__, NULL, fs); if (fs == NULL) return (NULL); --- 1120,1125 ---- *************** *** 1132,1138 **** flags |= CMD_FIND_PREFER_UNATTACHED; fs = cmd_find_target(cmdq, target, CMD_FIND_SESSION, flags); - cmd_find_log_state(__func__, target, fs); if (fs == NULL) return (NULL); --- 1137,1142 ---- *************** *** 1146,1152 **** struct cmd_find_state *fs; fs = cmd_find_target(cmdq, target, CMD_FIND_WINDOW, 0); - cmd_find_log_state(__func__, target, fs); if (fs == NULL) return (NULL); --- 1150,1155 ---- *************** *** 1164,1170 **** int flags = CMD_FIND_DEFAULT_MARKED; fs = cmd_find_target(cmdq, target, CMD_FIND_WINDOW, flags); - cmd_find_log_state(__func__, target, fs); if (fs == NULL) return (NULL); --- 1167,1172 ---- *************** *** 1181,1187 **** struct cmd_find_state *fs; fs = cmd_find_target(cmdq, target, CMD_FIND_PANE, 0); - cmd_find_log_state(__func__, target, fs); if (fs == NULL) return (NULL); --- 1183,1188 ---- *************** *** 1201,1207 **** int flags = CMD_FIND_DEFAULT_MARKED; fs = cmd_find_target(cmdq, target, CMD_FIND_PANE, flags); - cmd_find_log_state(__func__, target, fs); if (fs == NULL) return (NULL); --- 1202,1207 ---- *************** *** 1275,1281 **** int flags = CMD_FIND_WINDOW_INDEX; fs = cmd_find_target(cmdq, target, CMD_FIND_WINDOW, flags); - cmd_find_log_state(__func__, target, fs); if (fs == NULL) return (-2); --- 1275,1280 ----