Subject: Python mode: python-shift-left and python-shift-right are not working if the region is inactive
From: Guillaume Salagnac <[email-masked]>
To: [email-masked]
Cc: Guillaume Salagnac <[email-masked]>
Date: Thu, 19 Feb 2009 16:53:53 +1000

In Python mode (the one provided by lisp/progmodes/python.el) there  
are two functions that look very handy for indenting/reindenting  
code : python-shift-left and python-shift-right.

According to their documentation string, they can work either on the  
current active region, or on the current line if the region is not  
active. However, this latter feature does not seem to work properly.

Steps to reproduce error: open emacs, type M-x python-mode, type some  
code, and try "C-c <" or "C-c >" with no active region.

A simple fix seems to be achieved by replacing this "(point) (point)"  
default value, which is obviously empty, by  "(line-beginning- 
position) (line-end-position)" in both functions.

Cheers,
-Guillaume

Standard report-emacs-bug gibberish follows :

In GNU Emacs 23.0.60.1 (i486-pc-linux-gnu, GTK+ Version 2.14.3)
  of 2008-10-14 on rothera, modified by Debian
  (emacs-snapshot package, version 1:20081013-1)
Windowing system distributor `The X.Org Foundation', version  
11.0.10502000
configured using `configure  '--build' 'i486-linux-gnu' '--host'  
'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '-- 
libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/ 
info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable- 
locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/ 
23.0.60/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/ 
23.0.60/site-lisp:/usr/share/emacs/site-lisp' '--with-x=yes' '--with- 
x-toolkit=gtk' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux- 
gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2'  
'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

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_AU.UTF-8
   value of $XMODIFIERS: nil
   locale-coding-system: utf-8-unix
   default-enable-multibyte-characters: t

Major mode: Python

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:
M-x p y t h o n SPC m o d e <return> i f SPC T r u
e : <return> <tab> x = 1 <return> <tab> y = 1 C-c <
M-x r e p o r t - e m a c s - b u g <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
call-interactively: End of buffer [4 times]