bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#2760: marked as done (CUA-like stuff spuriously enables transient-m


From: Emacs bug Tracking System
Subject: bug#2760: marked as done (CUA-like stuff spuriously enables transient-mark-mode.)
Date: Tue, 24 Mar 2009 15:55:04 +0000

Your message dated Tue, 24 Mar 2009 15:49:37 +0000
with message-id <address@hidden>
and subject line Re: bug#2760: Acknowledgement (CUA-like stuff spuriously 
enables transient-mark-mode.)
has caused the Emacs bug report #2760,
regarding CUA-like stuff spuriously enables transient-mark-mode.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact address@hidden
immediately.)


-- 
2760: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=2760
Emacs Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: CUA-like stuff spuriously enables transient-mark-mode. Date: Mon, 23 Mar 2009 22:37:03 +0000 User-agent: Mutt/1.5.9i
Hi, Richard, Eli and Emacs!

Start the CVS head "emacs -Q", and evaluate this:

    (global-set-key [ &\C-\M-\S-m ] 'forward-char)
    (transient-mark-mode -1)

In some buffer, invoke 'forward-char by the above binding.  This enables
transient-mark-mode as a side effect.  This shouldn't happen.  It happens
both in a Linux Virtual terminal (with the requisite enhancements to the
keyboard handling) and in X-Windows.

ANALYSIS:
---------
The "^" in the interactive string causes `handle-shift-selection' to be
invoked by the command loop.  The function and friends abuse the user
option variable `transient-mark-mode' by additionally storing some sort
of state in it.  h-s-s writes the value '(only) into the variable
transient-mark-mode, thus enabling the mode.  A sensible fix would surely
involve leaving `transient-mark-mode' severely alone (only the user
should set this) and creating another variable (or several) to hold the
state currently mashed into t-m-m.

COMMENT:
--------
It is now no longer true that "But Emacs does not assign meanings to keys
directly" (Emacs manual, page "Commands") - Emacs directly assigns a
meaning to the shift key.  This is surely a Bad Thing.

Why, why, why is this thing implemented by hard-coding in the command
loop, where it interferes with users' ability to chose key bindings?
Surely this feature with the shift key should have been implemented by
defining defuns such as `forward-char-with-marking', and putting these
commands in some suitable keymap?  OK, it's more work, but not _that_
much more.

It's practically 100% certain that somebody, somewhere, will want to use
the hyper- or alt- keys instead of <shift> to get this visible region
feature, or possibly might want to use separate bindings entirely.

It's near 100% certain that somebody, somewhere, perhaps with a name like
Xah Lee, will want to use C-f as "find" (i.e. bind it to
`isearch-forward') and use C-S-f for `forward-char'.

-- 
Alan Mackenzie (Nuremberg, Germany).




--- End Message ---
--- Begin Message --- Subject: Re: bug#2760: Acknowledgement (CUA-like stuff spuriously enables transient-mark-mode.) Date: Tue, 24 Mar 2009 15:49:37 +0000 User-agent: Mutt/1.5.9i
This wasn't a bug.

On Mon, Mar 23, 2009 at 10:45:04PM +0000, Emacs bug Tracking System wrote:
 
> Thank you for filing a new bug report with Emacs.


> -- 
> 2760: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=2760
> Emacs Bug Tracking System
> Contact address@hidden with problems

-- 
Alan Mackenzie (Nuremberg, Germany).


--- End Message ---

reply via email to

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