Hello,

I have also encountered same problem.

Response for DA2 split two or more packets, but tmux does not handle this 
correctly.
Attached patch fixes this.

Thanks,

-- 
IWAMOTO Kouichi ([email protected]/[email protected]/[email protected])

On Sun, 8 Apr 2012 23:42:40 +0100
Michael Simpson <[email protected]> wrote:

> fyi please see forwarded message below.
> Issue started after recently upgrading to -current
> Term is xterm everywhere (except of course within tmux)
> Using tmux within OpenBSD having used ssh from Cygwin to get to OBSD box.
> When starting or re-attaching tmux session I get a series of numbers
> printed after the command prompt.
> 
> Please let me know what info I can provide.
> 
> ---------- Forwarded message ----------
> From: *Andy Koppe*
> Date: Sunday, April 8, 2012
> Subject: TERM problem with mintty and latest tmux in OpenBSD
> To: Michael Simpson <[email protected] <javascript:_e({}, 'cvml',
> '[email protected]');>>
> 
> 
> On 5 April 2012 23:51, Michael Simpson wrote:
> > On 5 April 2012 12:53, Andy Koppe wrote:
> >> On 30 March 2012 10:03, Michael Simpson wrote:
> >>> On 29 March 2012 06:29, Andy Koppe wrote:
> >>>
> >>>> I don't see any evidence here that this is a problem with mintty
> >>>> rather than OpenBSD's tmux or xterm terminfo entry. Can you try this
> >>>> using Cygwin's xterm?
> >>>
> >>> Cygwin's xterm works as expected
> >>
> >> Thanks for checking. Sounds like a mintty incompatibility with xterm
> >> then. I'll need your help to try to narrow down the issue though, as I
> >> haven't got access to an OpenBSD system.
> >>
> >> Can you invoke mintty with the --log option for logging output into a
> >> file, do as little as possible to reproduce the problem, and send the
> >> resulting log? The aim here is that I can cat the log file to see the
> >> issue and then try to narrow it down to the problematic control
> >> sequence.
> >>
> >> Regards,
> >> Andy
> >
> > Hi Andy
> >
> > sorry for the late response
> 
> Don't be silly, it's me who's being slow here.
> 
> > I have attached the log file
> > what i did was ssh to the openbsd box then startede a tmux session,
> > detached from it and reattached then ^d'd both it and the ksh shell
> > back to the originating box
> 
> Thanks very much. I've had a look at this, and I don't think this is a
> mintty issue after all. Tmux is requesting the terminal's
> identification code using the control sequence "\e[>c" (where \e
> stands for the ESC character). Mintty replies with its identification
> sequence: "\e[77;10003;0c", whereby 77 is the ASCII code for M and
> 10003 is the mintty version 1.0.3 encoded as
> 10000*major+100*minor+patch.
> 
> I'm assuming it's that which you're seeing on the command line, so for
> some reason tmux is letting mintty's response through to the shell as
> keyboard input instead of processing it itself. It requests the ID
> code not just on reattach but also when originally starting the
> session, so maybe it's a timing issue if this doesn't happen when
> creating the session.
> 
> Please report this to the tmux developers.
> 
> Regards,
> Andy
> 
> 
> 
> 
> 
> 
> >
> > Hope this is of use and please let me know what else i can do
> 
> 
> 
> 
> >
> > regards
> > mike

Index: tmux.h
===================================================================
--- tmux.h      (revision 2761)
+++ tmux.h      (working copy)
@@ -1047,6 +1047,7 @@
 #define TTY_UTF8 0x8
 #define TTY_STARTED 0x10
 #define TTY_OPENED 0x20
+#define TTY_ESCAPE_TIMEOUT 0x40
        int              flags;
 
        int              term_flags;
Index: tty-keys.c
===================================================================
--- tty-keys.c  (revision 2761)
+++ tty-keys.c  (working copy)
@@ -526,6 +526,11 @@
                        size++; /* include escape */
                        goto found_key;
                }
+               else {
+                       evbuffer_drain(tty->event->input, 1);
+                       key = '\033';
+                       goto handle_key;
+               }
        }
 
        /* Escape and then nothing useful - fall through. */
@@ -535,7 +540,7 @@
         * Escape but no key string. If have already seen an escape, then the
         * timer must have expired, so give up waiting and send the escape.
         */
-       if (tty->flags & TTY_ESCAPE) {
+       if (tty->flags & TTY_ESCAPE_TIMEOUT) {
                evbuffer_drain(tty->event->input, 1);
                key = '\033';
                goto handle_key;
@@ -580,7 +585,7 @@
        if (key != KEYC_NONE)
                tty->key_callback(key, &mouse, tty->key_data);
 
-       tty->flags &= ~TTY_ESCAPE;
+       tty->flags &= ~(TTY_ESCAPE|TTY_ESCAPE_TIMEOUT);
        return (1);
 }
 
@@ -594,6 +599,8 @@
        if (!(tty->flags & TTY_ESCAPE))
                return;
 
+       tty->flags |= TTY_ESCAPE_TIMEOUT;
+
        while (tty_keys_next(tty))
                ;
 }
Index: tty.c
===================================================================
--- tty.c       (revision 2761)
+++ tty.c       (working copy)
@@ -145,7 +145,7 @@
        }
        tty->flags |= TTY_OPENED;
 
-       tty->flags &= ~(TTY_NOCURSOR|TTY_FREEZE|TTY_ESCAPE);
+       tty->flags &= ~(TTY_NOCURSOR|TTY_FREEZE|TTY_ESCAPE|TTY_ESCAPE_TIMEOUT);
 
        tty->event = bufferevent_new(
            tty->fd, tty_read_callback, NULL, tty_error_callback, tty);
------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
tmux-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to