--- Begin Message ---
Subject: |
Python mode: python-shift-left and python-shift-right are not working if the region is inactive |
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]
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#2381: Python mode: python-shift-left and python-shift-right are not working if the region is inactive |
Date: |
Fri, 20 Feb 2009 17:31:43 +0100 |
User-agent: |
Thunderbird 2.0.0.16 (Windows/20080708) |
> 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.
I checked in your suggestion as
* progmodes/python.el (python-shift-left, python-shift-right):
When the mark is not active shift the current line. (Bug#2381)
Suggested by Guillaume Salagnac <guillaume.salagnac@gmail.com>
Thanks for the report, martin.
--- End Message ---