all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: modem <modem@member.fsf.org>
To: 24124@debbugs.gnu.org
Subject: bug#24124: emacs terminal escape command error
Date: Mon, 1 Aug 2016 16:34:43 +0200	[thread overview]
Message-ID: <579F5E03.70201@member.fsf.org> (raw)

Hi,


I am facing a problem with emacs inside tmux.
The problem can be reproduced easily.

Emacs seems to have an terminal issue when being back from background
mode on shell.

Let me explain:
When I put emacs in background (^z) and then in foreground again ("fg",
bash) sometime emacs will not reset properly the terminal and I won't be
able to scroll up (using PageUp/PageDown).

After debugging the issue with a tmux developer, we tracked it down to
emacs and believe this is an emacs issue with terminal handling when
going back from background mode.

I am attaching a snippet of the technical detail about this issue :

>  When you ^Z, tmux gets 112 bytes in all cases:
>
>  input_parse: %0 ground, 40 bytes:
\n\n\033[K\033[?1l\033>\033[34h\033[?25h\033[?1049l\033[39;49m\r
>  input_parse: %0 ground, 72 bytes: \r\n[1]+  Stopped
emacs large_text_file.txt\r\nroot@milu:~#
>
>  \033[?1049l is rmcup which exits cursor positioning (alternate
screen) mode.
>
>  Then when you type fg, it gets:
>
>  input_parse: %0 ground, 694 bytes:
\033[?1049h\033[34l\033[?1h\033=\033[24;1H\033[K\033[H\033[?25l\033[3mFile
Edit Options Buffers ...
>
>  \033[?1049h is smcup which turns it on again.
>
>  But sometimes, it gets:
>
>  input_parse: %0 ground, 674 bytes:
\033[24;1H\033[K\033[H\033[?25l\033[3mFile Edit Options Buffers ...
>
>  Where emacs is not sending \033[1049h, or in fact any of the smcup,
>  cvvis, smkx sequence it normally sends.

This can be reproduced by hitting ^z and then "fg" in a loop for a
couples of minutes. If you run tmux with "tmux -vvvv" you will be able
to obtain the logs mentionned above. To observe the problem you can just
press PageUp each time you are back in emacs, when the bug will
reproduce you won't pageUp inside emacs but enter the tmux's copy-mode.
My ~/.tmux.conf only has 1 line:
bind-key -T root PPage if-shell -F "#{alternate_on}" "send-keys PPage"
"copy-mode -e -u"


If you need me to apply some patch and/or reproduce just let me know I
will happily helps.

Thanks a lot,


-- modem





             reply	other threads:[~2016-08-01 14:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-01 14:34 modem [this message]
2016-08-01 15:18 ` bug#24124: emacs terminal escape command error Eli Zaretskii
2016-08-03 13:21 ` modem
2016-08-04 17:07   ` Eli Zaretskii
     [not found] <57A06C4B.70603@member.fsf.org>
2016-08-02 15:39 ` Eli Zaretskii
2019-11-08  3:54   ` Stefan Kangas
2020-01-18 10:51     ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=579F5E03.70201@member.fsf.org \
    --to=modem@member.fsf.org \
    --cc=24124@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.