Subject: bug#1958: 23.0.60; org-mode does not honour shift-select-mode

From: Andreas Amann <[email-masked]>
Date: Tue, 20 Jan 2009 11:12:25 +0100

I just tested this patch, and can confirm that it works and solves my
problem. Thanks!

Btw: I never associated shift-select with windows (which I have no
experience with). Wasn't shift-select available with Motif since the 
mid 90's?

Andreas

On Mon, Jan 19, 2009 at 09:54:31PM +0100, Carsten Dominik wrote:
>
> I am aware of this conflict, but I had no idea that this mode is on by 
> default?
> What ever happened with Emacs that we have become this much 
> Windows-biased????
>
> Anyway, if the Emacs Gods decide that this has to change, the way to do it 
> would be this:
>
>
> - Carsten
>
>
>
> --- org.el.orig 2009-01-19 21:52:10.000000000 +0100
> +++ org.el      2009-01-19 21:52:42.000000000 +0100
> @@ -246,7 +246,7 @@
>    :group 'org-startup
>    :type 'boolean)
>
> -(defcustom org-replace-disputed-keys nil
> +(defcustom org-replace-disputed-keys shift-select-mode
>    "Non-nil means use alternative key bindings for some keys.
>  Org-mode uses S-<cursor> keys for changing timestamps and priorities.
>  These keys are also used by other packages like `CUA-mode' or 
> `windmove.el'.
>
>
>
>
> On Jan 19, 2009, at 6:09 PM, Andreas Amann wrote:
>
>> start with "emacs -Q test.org"
>>
>> type "* bla"
>> and then shift-left
>>
>> expected behaviour: since shift-select-mode is set to t by default
>> (see src/callint.c), I would expect that shift-movements select
>> a region, and that major modes should not override this behaviour,
>> without being asked of doing so.
>>
>> actual behaviour: upon shift-left the binding org-shiftleft is called
>> which marks the current item as "DONE". This is very confusing for
>> people accostumed to shift-selection, which works very well in all
>> other emacs modes I know.
>>
>> Possible solution: in lisp/org/org.el
>> only include the bindings
>>
>>         '([(shift up)]          org-shiftup)
>>          '([(shift down)]        org-shiftdown)
>>          '([(shift left)]        org-shiftleft)
>>          '([(shift right)]       org-shiftright)
>>
>> if the variable shift-select-mode is nil.
>>
>>
>>
>>
>> In GNU Emacs 23.0.60.1 (x86_64-unknown-linux-gnu, X toolkit, Xaw3d scroll 
>> bars)
>> of 2009-01-14 on lnx0015f2465ec6
>> Windowing system distributor `The X.Org Foundation', version 11.0.10300000
>> configured using `configure  '--prefix=/home/aamann/local/emacs-cvs' 
>> 'LDFLAGS=-L/home/aamann/local/lib64' 
>> 'CPPFLAGS=-I/home/aamann/local/include''
>>
>> Important settings:
>>  value of $LC_ALL: nil
>>  value of $LC_COLLATE: nil
>>  value of $LC_CTYPE: nil
>>  value of $LC_MESSAGES: nil
>>  value of $LC_MONETARY: nil
>>  value of $LC_NUMERIC: nil
>>  value of $LC_TIME: nil
>>  value of $LANG: en_IE.utf8
>>  value of $XMODIFIERS: @im=none
>>  locale-coding-system: utf-8-unix
>>  default-enable-multibyte-characters: t
>>
>> Major mode: Org
>>
>> Minor modes in effect:
>>  tooltip-mode: t
>>  tool-bar-mode: t
>>  mouse-wheel-mode: t
>>  menu-bar-mode: t
>>  file-name-shadow-mode: t
>>  global-font-lock-mode: t
>>  font-lock-mode: t
>>  blink-cursor-mode: t
>>  global-auto-composition-mode: t
>>  auto-composition-mode: t
>>  auto-encryption-mode: t
>>  auto-compression-mode: t
>>  line-number-mode: t
>>  transient-mark-mode: t
>>
>> Recent input:
>> * S-SPC b l a <S-left> <help-echo> <help-echo> <help-echo>
>> <help-echo> <help-echo> <help-echo> <help-echo> <menu-bar>
>> <help-menu> <send-emacs-bug-report>
>>
>> Recent messages:
>> For information about GNU Emacs and the GNU system, type C-h C-a.
>> test.org has auto save data; consider M-x recover-this-file
>> OVERVIEW