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

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

bug#13642: 24.3.50; python-nav-backward-sexp mishandles string movement


From: Andreas Röhler
Subject: bug#13642: 24.3.50; python-nav-backward-sexp mishandles string movement
Date: Wed, 15 May 2013 07:55:51 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130329 Thunderbird/17.0.5

Am 07.02.2013 01:12, schrieb Daniel Colascione:
On 2/6/2013 3:50 PM, Jorgen Schaefer wrote:
Hello!
In python-mode, I get the following behavior (with _|_ being point):

-----
def foo():
     bar = "bar"
     baz = "baz"_|_

=>

_|_def foo():
     bar = "bar"
     baz = "baz"
-----

That's by design. python-mode tries to emulate lisp movement as much as
possible, so it considers point to be at the end of a "defun" and tries to skip
over the entire "defun", back to the beginning.

This functionality appears to be buggy:

def foo():
     bar = "bar"
     baz = "baz"
     x=x()_|_

=>

def foo():
     bar = "bar"
     baz = "baz"
     x=x_|_()

I also find the behavior more counter-intuitive than useful, and I wish
python-mode acted more like cc-mode here.



[ ... ]

hmm, din't think so. In Python that point indicates the end of assignment
baz = "baz"

End of defun is reached with following dedent only.

So the OP's expection seems wrong too:

backward-sexp must reach the beginning of the assigment "baz =..."

BTW in python-mode.el we have py-beginning-of-expression for the OP's want.

Cheers,

Andreas







reply via email to

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