Update of /cvsroot/tmux/tmux
In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv25401

Modified Files:
        cmd-send-keys.c cmd-send-prefix.c server-client.c tmux.h 
        window-choose.c window-clock.c window-copy.c window.c 
Log Message:
Pass in the session, rather than the client, to window modes' key() function.
We were only ever using the client to find the session anyway.


Index: cmd-send-prefix.c
===================================================================
RCS file: /cvsroot/tmux/tmux/cmd-send-prefix.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- cmd-send-prefix.c   14 Nov 2009 17:56:39 -0000      1.28
+++ cmd-send-prefix.c   22 May 2010 21:56:04 -0000      1.29
@@ -49,7 +49,7 @@
                return (-1);
 
        keylist = options_get_data(&s->options, "prefix");
-       window_pane_key(wp, ctx->curclient, ARRAY_FIRST(keylist));
+       window_pane_key(wp, s, ARRAY_FIRST(keylist));
 
        return (0);
 }

Index: server-client.c
===================================================================
RCS file: /cvsroot/tmux/tmux/server-client.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- server-client.c     8 Feb 2010 18:27:34 -0000       1.31
+++ server-client.c     22 May 2010 21:56:04 -0000      1.32
@@ -299,7 +299,7 @@
                        server_redraw_window_borders(w);
                        wp = w->active;
                }
-               window_pane_mouse(wp, c, mouse);
+               window_pane_mouse(wp, c->session, mouse);
                return;
        }
 
@@ -321,7 +321,7 @@
                        /* Try as a non-prefix key binding. */
                        if ((bd = key_bindings_lookup(key)) == NULL) {
                                if (!(c->flags & CLIENT_READONLY))
-                                       window_pane_key(wp, c, key);
+                                       window_pane_key(wp, c->session, key);
                        } else
                                key_bindings_dispatch(bd, c);
                }
@@ -337,7 +337,7 @@
                        if (isprefix)
                                c->flags |= CLIENT_PREFIX;
                        else if (!(c->flags & CLIENT_READONLY))
-                               window_pane_key(wp, c, key);
+                               window_pane_key(wp, c->session, key);
                }
                return;
        }
@@ -348,7 +348,7 @@
                if (isprefix)
                        c->flags |= CLIENT_PREFIX;
                else if (!(c->flags & CLIENT_READONLY))
-                       window_pane_key(wp, c, key);
+                       window_pane_key(wp, c->session, key);
                return;
        }
 

Index: window-choose.c
===================================================================
RCS file: /cvsroot/tmux/tmux/window-choose.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- window-choose.c     2 Feb 2010 23:55:21 -0000       1.29
+++ window-choose.c     22 May 2010 21:56:04 -0000      1.30
@@ -25,9 +25,9 @@
 struct screen *window_choose_init(struct window_pane *);
 void   window_choose_free(struct window_pane *);
 void   window_choose_resize(struct window_pane *, u_int, u_int);
-void   window_choose_key(struct window_pane *, struct client *, int);
+void   window_choose_key(struct window_pane *, struct session *, int);
 void   window_choose_mouse(
-           struct window_pane *, struct client *, struct mouse_event *);
+           struct window_pane *, struct session *, struct mouse_event *);
 
 void   window_choose_redraw_screen(struct window_pane *);
 void   window_choose_write_line(
@@ -171,7 +171,7 @@
 
 /* ARGSUSED */
 void
-window_choose_key(struct window_pane *wp, unused struct client *c, int key)
+window_choose_key(struct window_pane *wp, unused struct session *sess, int key)
 {
        struct window_choose_mode_data  *data = wp->modedata;
        struct screen                   *s = &data->screen;
@@ -304,7 +304,7 @@
 /* ARGSUSED */
 void
 window_choose_mouse(
-    struct window_pane *wp, unused struct client *c, struct mouse_event *m)
+    struct window_pane *wp, unused struct session *sess, struct mouse_event *m)
 {
        struct window_choose_mode_data  *data = wp->modedata;
        struct screen                   *s = &data->screen;

Index: window-clock.c
===================================================================
RCS file: /cvsroot/tmux/tmux/window-clock.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- window-clock.c      4 Dec 2009 22:14:47 -0000       1.11
+++ window-clock.c      22 May 2010 21:56:04 -0000      1.12
@@ -26,7 +26,7 @@
 struct screen *window_clock_init(struct window_pane *);
 void   window_clock_free(struct window_pane *);
 void   window_clock_resize(struct window_pane *, u_int, u_int);
-void   window_clock_key(struct window_pane *, struct client *, int);
+void   window_clock_key(struct window_pane *, struct session *, int);
 void   window_clock_timer(struct window_pane *);
 
 void   window_clock_draw_screen(struct window_pane *);
@@ -85,7 +85,7 @@
 /* ARGSUSED */
 void
 window_clock_key(
-    struct window_pane *wp, unused struct client *c, unused int key)
+    struct window_pane *wp, unused struct session *sess, unused int key)
 {
        window_pane_reset_mode(wp);
 }

Index: cmd-send-keys.c
===================================================================
RCS file: /cvsroot/tmux/tmux/cmd-send-keys.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- cmd-send-keys.c     4 Dec 2009 22:14:47 -0000       1.24
+++ cmd-send-keys.c     22 May 2010 21:56:04 -0000      1.25
@@ -105,16 +105,17 @@
 {
        struct cmd_send_keys_data       *data = self->data;
        struct window_pane              *wp;
+       struct session                  *s;
        u_int                            i;
 
        if (data == NULL)
                return (-1);
 
-       if (cmd_find_pane(ctx, data->target, NULL, &wp) == NULL)
+       if (cmd_find_pane(ctx, data->target, &s, &wp) == NULL)
                return (-1);
 
        for (i = 0; i < data->nkeys; i++)
-               window_pane_key(wp, ctx->curclient, data->keys[i]);
+               window_pane_key(wp, s, data->keys[i]);
 
        return (0);
 }

Index: window-copy.c
===================================================================
RCS file: /cvsroot/tmux/tmux/window-copy.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- window-copy.c       28 Apr 2010 14:29:27 -0000      1.116
+++ window-copy.c       22 May 2010 21:56:04 -0000      1.117
@@ -26,11 +26,11 @@
 struct screen *window_copy_init(struct window_pane *);
 void   window_copy_free(struct window_pane *);
 void   window_copy_resize(struct window_pane *, u_int, u_int);
-void   window_copy_key(struct window_pane *, struct client *, int);
+void   window_copy_key(struct window_pane *, struct session *, int);
 int    window_copy_key_input(struct window_pane *, int);
 int    window_copy_key_numeric_prefix(struct window_pane *, int);
 void   window_copy_mouse(
-           struct window_pane *, struct client *, struct mouse_event *);
+           struct window_pane *, struct session *, struct mouse_event *);
 
 void   window_copy_redraw_lines(struct window_pane *, u_int, u_int);
 void   window_copy_redraw_screen(struct window_pane *);
@@ -52,7 +52,7 @@
 void   window_copy_update_cursor(struct window_pane *, u_int, u_int);
 void   window_copy_start_selection(struct window_pane *);
 int    window_copy_update_selection(struct window_pane *);
-void   window_copy_copy_selection(struct window_pane *, struct client *);
+void   window_copy_copy_selection(struct window_pane *, struct session *);
 void   window_copy_clear_selection(struct window_pane *);
 void   window_copy_copy_line(
            struct window_pane *, char **, size_t *, u_int, u_int, u_int);
@@ -340,8 +340,6 @@
                data->cy = sy - 1;
        if (data->cx > sx)
                data->cx = sx;
-       if (data->oy > screen_hsize(data->backing))
-               data->oy = screen_hsize(data->backing);
 
        window_copy_clear_selection(wp);
 
@@ -353,7 +351,7 @@
 }
 
 void
-window_copy_key(struct window_pane *wp, struct client *c, int key)
+window_copy_key(struct window_pane *wp, struct session *sess, int key)
 {
        const char                      *word_separators;
        struct window_copy_mode_data    *data = wp->modedata;
@@ -503,8 +501,8 @@
                window_copy_redraw_screen(wp);
                break;
        case MODEKEYCOPY_COPYSELECTION:
-               if (c != NULL && c->session != NULL) {
-                       window_copy_copy_selection(wp, c);
+               if (sess != NULL) {
+                       window_copy_copy_selection(wp, sess);
                        window_pane_reset_mode(wp);
                        return;
                }
@@ -758,7 +756,7 @@
 /* ARGSUSED */
 void
 window_copy_mouse(
-    struct window_pane *wp, unused struct client *c, struct mouse_event *m)
+    struct window_pane *wp, unused struct session *sess, struct mouse_event *m)
 {
        struct window_copy_mode_data    *data = wp->modedata;
        struct screen                   *s = &data->screen;
@@ -1169,7 +1167,7 @@
 }
 
 void
-window_copy_copy_selection(struct window_pane *wp, struct client *c)
+window_copy_copy_selection(struct window_pane *wp, struct session *sess)
 {
        struct window_copy_mode_data    *data = wp->modedata;
        struct screen                   *s = &data->screen;
@@ -1264,8 +1262,8 @@
        off--;  /* remove final \n */
 
        /* Add the buffer to the stack. */
-       limit = options_get_number(&c->session->options, "buffer-limit");
-       paste_add(&c->session->buffers, buf, off, limit);
+       limit = options_get_number(&sess->options, "buffer-limit");
+       paste_add(&sess->buffers, buf, off, limit);
 }
 
 void

Index: window.c
===================================================================
RCS file: /cvsroot/tmux/tmux/window.c,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -d -r1.131 -r1.132
--- window.c    14 May 2010 14:30:01 -0000      1.131
+++ window.c    22 May 2010 21:56:04 -0000      1.132
@@ -728,7 +728,7 @@
 }
 
 void
-window_pane_key(struct window_pane *wp, struct client *c, int key)
+window_pane_key(struct window_pane *wp, struct session *sess, int key)
 {
        struct window_pane      *wp2;
 
@@ -737,7 +737,7 @@
 
        if (wp->mode != NULL) {
                if (wp->mode->key != NULL)
-                       wp->mode->key(wp, c, key);
+                       wp->mode->key(wp, sess, key);
                return;
        }
 
@@ -756,7 +756,7 @@
 
 void
 window_pane_mouse(
-    struct window_pane *wp, struct client *c, struct mouse_event *m)
+    struct window_pane *wp, struct session *sess, struct mouse_event *m)
 {
        if (!window_pane_visible(wp))
                return;
@@ -770,7 +770,7 @@
 
        if (wp->mode != NULL) {
                if (wp->mode->mouse != NULL)
-                       wp->mode->mouse(wp, c, m);
+                       wp->mode->mouse(wp, sess, m);
        } else if (wp->fd != -1)
                input_mouse(wp, m);
 }

Index: tmux.h
===================================================================
RCS file: /cvsroot/tmux/tmux/tmux.h,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -d -r1.557 -r1.558
--- tmux.h      14 May 2010 14:33:39 -0000      1.557
+++ tmux.h      22 May 2010 21:56:04 -0000      1.558
@@ -759,16 +759,16 @@
  * Window mode. Windows can be in several modes and this is used to call the
  * right function to handle input and output.
  */
-struct client;
+struct session;
 struct window;
 struct mouse_event;
 struct window_mode {
        struct screen *(*init)(struct window_pane *);
        void    (*free)(struct window_pane *);
        void    (*resize)(struct window_pane *, u_int, u_int);
-       void    (*key)(struct window_pane *, struct client *, int);
+       void    (*key)(struct window_pane *, struct session *, int);
        void    (*mouse)(struct window_pane *,
-                   struct client *, struct mouse_event *);
+                   struct session *, struct mouse_event *);
        void    (*timer)(struct window_pane *);
 };
 
@@ -1827,9 +1827,9 @@
 int             window_pane_set_mode(
                     struct window_pane *, const struct window_mode *);
 void            window_pane_reset_mode(struct window_pane *);
-void            window_pane_key(struct window_pane *, struct client *, int);
+void            window_pane_key(struct window_pane *, struct session *, int);
 void            window_pane_mouse(struct window_pane *,
-                    struct client *, struct mouse_event *);
+                    struct session *, struct mouse_event *);
 int             window_pane_visible(struct window_pane *);
 char           *window_pane_search(
                     struct window_pane *, const char *, u_int *);


------------------------------------------------------------------------------

_______________________________________________
tmux-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to