unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Philipp Stephani <p.stephani2@gmail.com>
To: Robert Cochran <robert-emacs@cochranmail.com>
Cc: 24420@debbugs.gnu.org
Subject: bug#24420: 25.1.50; Work around terminal differences for bracketed-paste/mouse-2
Date: Wed, 14 Sep 2016 20:05:21 +0000	[thread overview]
Message-ID: <CAArVCkTbTheXE5bD9RBRXb_ECcpXSwd87bqLtq7wc-cjj2x4aQ@mail.gmail.com> (raw)
In-Reply-To: <8737l2pbue.fsf@cochranmail.com>

[-- Attachment #1: Type: text/plain, Size: 2886 bytes --]

Robert Cochran <robert-emacs@cochranmail.com> schrieb am Mi., 14. Sep. 2016
um 20:37 Uhr:

> Philipp Stephani <p.stephani2@gmail.com> writes:
>
> > There are several terminals that announce themselves as XTerm and
> > partially implement the XTerm control sequences
> > (http://invisible-island.net/xterm/ctlseqs/ctlseqs.html), but have some
> > slightly different behavior.
>
> That sounds like breakage waiting to happen. Maybe I'm not entirely
> familiar with how things are done in terminal-emulator-land, but why
> would you declare yourself as an XTerm if you only partially implement
> or differ from the real thing?


For the same reason that every web browser on the planet declares itself as
"Mozilla". Identification strings simply don't work.


how do you communicate the advanced features (like mouse support)? Is it
> simply that it's there if a terminal claims to be an xterm? Or is there
> a real query method for those things?
>

That's not really possible. Basically Emacs tries to enable all features
and assumes the terminal emulator simply ignores escape sequences it
doesn't understand.


>
> > I've tried out XTerm, HTerm, and gnome-terminal, and found the
> > following behavior differences:
> >
> > - XTerm sends xterm-paste (ESC [ 200~ ... ESC [ 201~) if
> >   xterm-mouse-mode is disabled.  If xterm-mouse-mode is enabled, it
> >   sends down-mouse-2 + up-mouse-2 using SGR coordinates (ESC [<1;x;yM
> >   ESC [<1;x;ym), which gets translated to mouse-yank-primary.
> >
> > - Gnome Terminal sends xterm-paste if xterm-mouse-mode is disabled.  If
> >   xterm-mouse-mode is enabled, it only sends down-mouse-2 using SGR
> >   coordinates, which is ignored by Emacs.
> >
> > - HTerm doesn't use bracketed paste mode if xterm-mouse-mode is disabled
> >   (i.e. pasted text gets inserted using individual
> >   self-insert-commands).  If xterm-mouse-mode is enabled, it uses both
> >   (!) down-mouse-2 + down-mouse-up (using basic coordinates) and then a
> >   bracketed paste.
> >
> > The HTerm and Gnome-Terminal behaviors are probably bugs, and I'll try
> > to get them fixed.  However, maybe we want to work around these issues
> > on the Emacs side, e.g. by not requiring an up-mouse-2 if
> > xterm-mouse-mode is enabled.
>
> I could go either way on this one... Emacs maybe ought not to be so
> choosy about what it gets from a control character standpoint, but how
> relatively difficuly would it be to fix the emulators to do both up and
> down? That way both flavors of program are satisfied: the ones looking
> for down-only get their event, and those looking for both get both.
>
>
Fixing gnome-terminal would be preferred, yes, but old (unfixed) versions
tend to stick around for years.
With HTerm it's a bit different: arguably HTerm's behavior is better than
XTerm's, because with XTerm you can't paste any more once you enable
extended mouse mode.

[-- Attachment #2: Type: text/html, Size: 4762 bytes --]

      reply	other threads:[~2016-09-14 20:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-12 13:39 bug#24420: 25.1.50; Work around terminal differences for bracketed-paste/mouse-2 Philipp Stephani
2016-09-14 18:36 ` Robert Cochran
2016-09-14 20:05   ` Philipp Stephani [this message]

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=CAArVCkTbTheXE5bD9RBRXb_ECcpXSwd87bqLtq7wc-cjj2x4aQ@mail.gmail.com \
    --to=p.stephani2@gmail.com \
    --cc=24420@debbugs.gnu.org \
    --cc=robert-emacs@cochranmail.com \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).