[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24837: 26.0.50; term.el: In char mode, displayed and executed comman

From: Phil Sainty
Subject: bug#24837: 26.0.50; term.el: In char mode, displayed and executed commands can differ
Date: Mon, 25 Sep 2017 16:09:22 +1300
User-agent: Orcon Webmail

On 2017-09-25 13:48, Phil Sainty wrote:
So keyboard events cannot leave point in the wrong position; and while
mouse events can do so, as soon as the keyboard is involved again we
jump to where we're supposed to be.

Thinking on this further, it might be even better to use pre-command-hook
to establish whether the pre-command position of point is equal to the
process mark, and then act conditionally on that in post-command-hook,
so that if the pre-command point did not already match the process mark,
we do *not* forcibly move it to the process mark afterwards.

The intention being that in term-char-mode:

1. Unless mouse activity takes place, a command cannot leave point in
   an inconsistent position.

2. The user *can* still use the mouse in char mode (e.g. to move point
   and/or select a region).

3. Once the user has used the mouse to move point, they may continue
   to invoke arbitrary commands without it being forced back to the
   process mark (so exchange-point-and-mark would do what they expected,
   for example).  The buffer will still be read-only of course.

4. Upon process output, point would move back to the process mark as
   normal.  When this happens (or if the user manually moves point to
   that position) the user would need to use the mouse once more to
   move point elsewhere.

Obviously they can switch to term-line-mode at any time and do anything
to the buffer, but the above would give some ability to the mouse and
certain keybindings in char mode as well.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]