From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ian Zimmerman Newsgroups: gmane.emacs.help Subject: Re: python-mode's broken indentation behavior Date: Sun, 28 Jun 2015 18:23:24 -0700 Message-ID: <20150629011408.1789.2BEEC124@ahiker.mooo.com> References: <87y4j37gzs.fsf@mid.deneb.enyo.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1435541029 8637 80.91.229.3 (29 Jun 2015 01:23:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 29 Jun 2015 01:23:49 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Jun 29 03:23:48 2015 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Z9NnU-0000cj-Ve for geh-help-gnu-emacs@m.gmane.org; Mon, 29 Jun 2015 03:23:45 +0200 Original-Received: from localhost ([::1]:40285 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9NnT-0002Nq-St for geh-help-gnu-emacs@m.gmane.org; Sun, 28 Jun 2015 21:23:43 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56768) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9NnK-0002Nh-1f for help-gnu-emacs@gnu.org; Sun, 28 Jun 2015 21:23:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z9NnJ-0000lH-5l for help-gnu-emacs@gnu.org; Sun, 28 Jun 2015 21:23:33 -0400 Original-Received: from disorder-1-pt.tunnel.tserv3.fmt2.ipv6.he.net ([2001:470:1f04:51a::2]:39888 helo=acedia.primate.net) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9NnI-0000gk-TG for help-gnu-emacs@gnu.org; Sun, 28 Jun 2015 21:23:33 -0400 Original-Received: from acedia.primate.net (localhost [127.0.0.1]) by acedia.primate.net (8.14.9/8.14.9/Debian-1) with ESMTP id t5T1NOZv011869 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sun, 28 Jun 2015 18:23:24 -0700 Original-Received: (from itz@localhost) by acedia.primate.net (8.14.9/8.14.9/Submit) id t5T1NOPg011864 for help-gnu-emacs@gnu.org; Sun, 28 Jun 2015 18:23:24 -0700 X-Authentication-Warning: acedia.primate.net: itz set sender to itz@buug.org using -f Original-Received: from itz by ahiker.mooo.com with local (Exim 4.80) (envelope-from ) id 1Z9NnA-0000Tg-55 for help-gnu-emacs@gnu.org; Sun, 28 Jun 2015 18:23:24 -0700 Content-Disposition: inline In-Reply-To: <87y4j37gzs.fsf@mid.deneb.enyo.de> User-Agent: Mutt/1.5.21 (2010-09-15) X-MIME-Autoconverted: from 8bit to quoted-printable by acedia.primate.net id t5T1NOZv011869 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:470:1f04:51a::2 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:105269 Archived-At: On 2015-06-28 21:47 +0200, Florian Weimer wrote: > def foo(x): > if x: > return 2 > else: > raise Foo > for i in range(0, 10)_ >=20 > So far, so good. Now press =E2=80=98:=E2=80=99: >=20 > def foo(x): > if x: > return 2 > else: > raise Foo > for i in range(0, 10):_ >=20 > Going from: >=20 > def foo(x): > if x: > x() > else: > y() > for i in range(0, 10)_ >=20 > to: >=20 > def foo(x): > if x: > x() > else: > y() > for i in range(0, 10):_ >=20 > is equally unhelpful. While I completely agree that this behavior is broken in both cases (and I feel smug using emacs23, which doesn't do this), I thought it's worth pointing out that these cases are quite different. In the second case, it is correct for the code to not unindent automatically, but it should not restore the indent after you manually fix it. Maybe you can just turn off the electric colon somehow? If nothing else, you should be able to do (add-hook 'python-mode-hook (lambda () (local-unset-key ":"))) --=20 Please *no* private copies of mailing list or newsgroup messages. Rule 420: All persons more than eight miles high to leave the court.