GNU bug report logs - #15812
24.3.50; docstring starting with "return" confuses python-mode indentation

Previous Next

Package: emacs;

Reported by: Friedrich Delgado <friedel <at> nomaden.org>

Date: Tue, 5 Nov 2013 16:56:02 UTC

Severity: normal

Tags: patch

Found in version 24.3.50

Done: fgallina <at> gnu.org (Fabián Ezequiel Gallina)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 15812 in the body.
You can then email your comments to 15812 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#15812; Package emacs. (Tue, 05 Nov 2013 16:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Friedrich Delgado <friedel <at> nomaden.org>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Tue, 05 Nov 2013 16:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Friedrich Delgado <friedel <at> nomaden.org>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.3.50; docstring starting with "return" confuses python-mode
 indentation
Date: Tue, 5 Nov 2013 16:21:30 +0100
[Message part 1 (text/plain, inline)]
emacs -Q
M-x python-mode
M-x erase-buffer<RET>y<RET>y
def foo():
    "return stuff"
<TAB>

Expected behaviour: The cursor is placed under the first quotation
mark (4 spaces indent)

Actual behaviour: The cursor is placed at the beginning of the line.

In GNU Emacs 24.3.50.1 (x86_64-suse-linux-gnu, GTK+ Version 3.4.4)
 of 2013-07-09 on rosita
Windowing system distributor `The X.Org Foundation', version
11.0.11203000
System Description:     openSUSE 12.2 (x86_64)

Configured using:
 `configure --prefix=/home/friedel/local/stow/emacs
 --without-gif'

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LANG: de_DE.utf8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Python

Minor modes in effect:
  xterm-mouse-mode: t
  diff-auto-refine-mode: t
  elpy-mode: t
  yas-minor-mode: t
  highlight-indentation-mode: t
  flymake-mode: t
  auto-complete-mode: t
  global-git-gutter-mode: t
  shell-dirtrack-mode: t
  desktop-save-mode: t
  winpoint-mode: t
  display-time-mode: t
  eldoc-mode: t
  strokes-mode: t
  show-paren-mode: t
  minibuffer-electric-default-mode: t
  ido-everywhere: t
  auto-image-file-mode: t
  override-global-mode: t
  image-diredx-async-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<up> <up> <up> <down> C-SPC <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> C-w <down> <down> <tab> <tab> 
<tab> C-_ C-_ C-_ C-x C-s C-_ C-_ C-_ C-_ C-_ C-_ C-_ 
C-x C-s C-c <C-left> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> C-a C-SPC <C-end> C-w C-c 
<C-right> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> C-c <C-left> d e f SPC s o u r 
c e s ( s e l f ) : <return> <tab> r e t <backspace> 
<backspace> <backspace> " r e t u r n SPC a SPC c o 
l l e c t i o n SPC o f SPC s o u r c e s SPC w e SPC 
a g g r e g a t e SPC o v e r " <return> <tab> <tab> 
<up> C-e <C-left> <C-left> <C-left> <C-left> <down> 
<tab> <C-home> C-SPC <C-end> C-w C-x k <return> y C-x 
C-f <M-backspace> <M-backspace> <M-backspace> <M-backspace> 
<M-backspace> b l a . p y <return> <C-return> <M-backspace> 
<M-backspace> <backspace> <backspace> <backspace> <backspace> 
<backspace> <return> C-j <return> d e f SPC s o u r 
c e s ( s e l f ) : <return> <tab> " b l a " <return> 
<tab> <up> <right> C-k r e t u r n SPC a SPC c o l 
l e c t i o n " <return> <tab> C-k C-k <up> C-e <C-left> 
<C-left> <left> M-d M-d <down> <tab> r e t u r n <tab> 
SPC <tab> f o <tab> <tab> C-a <tab> <tab> C-k <up> 
<up> <C-right> <right> M-d f o o <down> <up> <up> <up> 
<up> <up> <up> <down> <down> <tab> <right> M-d <down> 
<tab> <down> <tab> M-x r e b <backspace> p o <tab> 
r <tab> <return>

Recent messages:
Mark set [3 times]
Buffer foo.py modified; kill anyway? (y or n)  y
Searching for `bla.py'....
Searching for `bla.python-guess-indent'....
(New file)
Here is not Git work tree
Can't guess python-indent-offset, using defaults: 4
Here is not Git work tree
Auto-saving...done
Making completion list...

Load-path shadows:
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/loaddefs hides
~/lib/emacs/loaddefs
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/calendar/timeclock
hides ~/lib/emacs/timeclock
/home/friedel/.emacs.d/elpa/mmm-mako-20121019.2351/mmm-mako hides
~/lib/emacs/mmm-mako
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/align hides
~/lib/emacs/align
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/timezone hides
/home/friedel/lib/emacs/apel-10.7/timezone
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/env hides
/home/friedel/lib/emacs/apel-10.7/env
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/json hides
/home/friedel/lib/emacs/g-client/json
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/gnus/.dir-locals
hides /home/friedel/lib/emacs/magit/.dir-locals
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/gnus/.dir-locals
hides /home/friedel/lib/emacs/org-mode/.dir-locals
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/textmodes/remember
hides /home/friedel/lib/emacs/remember/remember
/home/friedel/lib/emacs/doxymacs-1.8.0/lisp/xml-parse hides
/home/friedel/lib/emacs/doxymacs-1.8.0/no-autoconf/xml-parse
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/mail/rfc2368
hides /home/friedel/lib/emacs/emacs-w3m/attic/rfc2368
/home/friedel/.emacs.d/elpa/popup-20130324.1305/popup hides
/home/friedel/lib/emacs/ensime_2.8.1-0.4.1/elisp/popup
/home/friedel/.emacs.d/elpa/fuzzy-20120323.1044/fuzzy hides
/home/friedel/lib/emacs/ensime_2.8.1-0.4.1/elisp/fuzzy
/home/friedel/.emacs.d/elpa/auto-complete-20130503.2013/auto-complete
hides /home/friedel/lib/emacs/ensime_2.8.1-0.4.1/elisp/auto-complete
~/lib/emacs/php-mode hides
/home/friedel/lib/emacs/nxhtml/related/php-mode
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/emacs-lisp/ert
hides /home/friedel/lib/emacs/nxhtml/tests/ert
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-odt
hides /home/friedel/lib/emacs/nxhtml/util/org-odt
~/lib/emacs/fold-dwim hides
/home/friedel/lib/emacs/nxhtml/util/fold-dwim
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-timer
hides /home/friedel/lib/emacs/org-mode/lisp/org-timer
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-rmail
hides /home/friedel/lib/emacs/org-mode/lisp/org-rmail
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-loaddefs
hides /home/friedel/lib/emacs/org-mode/lisp/org-loaddefs
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-version
hides /home/friedel/lib/emacs/org-mode/lisp/org-version
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-mac-message
hides /home/friedel/lib/emacs/org-mode/lisp/org-mac-message
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-mhe
hides /home/friedel/lib/emacs/org-mode/lisp/org-mhe
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-mouse
hides /home/friedel/lib/emacs/org-mode/lisp/org-mouse
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-irc
hides /home/friedel/lib/emacs/org-mode/lisp/org-irc
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org hides
/home/friedel/lib/emacs/org-mode/lisp/org
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-plot
hides /home/friedel/lib/emacs/org-mode/lisp/org-plot
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-info
hides /home/friedel/lib/emacs/org-mode/lisp/org-info
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-pcomplete
hides /home/friedel/lib/emacs/org-mode/lisp/org-pcomplete
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-table
hides /home/friedel/lib/emacs/org-mode/lisp/org-table
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-src
hides /home/friedel/lib/emacs/org-mode/lisp/org-src
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-macs
hides /home/friedel/lib/emacs/org-mode/lisp/org-macs
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-habit
hides /home/friedel/lib/emacs/org-mode/lisp/org-habit
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-protocol
hides /home/friedel/lib/emacs/org-mode/lisp/org-protocol
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-install
hides /home/friedel/lib/emacs/org-mode/lisp/org-install
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-feed
hides /home/friedel/lib/emacs/org-mode/lisp/org-feed
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-inlinetask
hides /home/friedel/lib/emacs/org-mode/lisp/org-inlinetask
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-indent
hides /home/friedel/lib/emacs/org-mode/lisp/org-indent
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-id
hides /home/friedel/lib/emacs/org-mode/lisp/org-id
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-eshell
hides /home/friedel/lib/emacs/org-mode/lisp/org-eshell
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-gnus
hides /home/friedel/lib/emacs/org-mode/lisp/org-gnus
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-footnote
hides /home/friedel/lib/emacs/org-mode/lisp/org-footnote
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-mobile
hides /home/friedel/lib/emacs/org-mode/lisp/org-mobile
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-entities
hides /home/friedel/lib/emacs/org-mode/lisp/org-entities
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-list
hides /home/friedel/lib/emacs/org-mode/lisp/org-list
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-ctags
hides /home/friedel/lib/emacs/org-mode/lisp/org-ctags
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-crypt
hides /home/friedel/lib/emacs/org-mode/lisp/org-crypt
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-docview
hides /home/friedel/lib/emacs/org-mode/lisp/org-docview
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-datetree
hides /home/friedel/lib/emacs/org-mode/lisp/org-datetree
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-faces
hides /home/friedel/lib/emacs/org-mode/lisp/org-faces
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-element
hides /home/friedel/lib/emacs/org-mode/lisp/org-element
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-compat
hides /home/friedel/lib/emacs/org-mode/lisp/org-compat
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-colview
hides /home/friedel/lib/emacs/org-mode/lisp/org-colview
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-clock
hides /home/friedel/lib/emacs/org-mode/lisp/org-clock
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-capture
hides /home/friedel/lib/emacs/org-mode/lisp/org-capture
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-bbdb
hides /home/friedel/lib/emacs/org-mode/lisp/org-bbdb
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-attach
hides /home/friedel/lib/emacs/org-mode/lisp/org-attach
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-bibtex
hides /home/friedel/lib/emacs/org-mode/lisp/org-bibtex
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-archive
hides /home/friedel/lib/emacs/org-mode/lisp/org-archive
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-agenda
hides /home/friedel/lib/emacs/org-mode/lisp/org-agenda
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob hides
/home/friedel/lib/emacs/org-mode/lisp/ob
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-tangle
hides /home/friedel/lib/emacs/org-mode/lisp/ob-tangle
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-table
hides /home/friedel/lib/emacs/org-mode/lisp/ob-table
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-sqlite
hides /home/friedel/lib/emacs/org-mode/lisp/ob-sqlite
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-sql
hides /home/friedel/lib/emacs/org-mode/lisp/ob-sql
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-shen
hides /home/friedel/lib/emacs/org-mode/lisp/ob-shen
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-sh
hides /home/friedel/lib/emacs/org-mode/lisp/ob-sh
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-screen
hides /home/friedel/lib/emacs/org-mode/lisp/ob-screen
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-scheme
hides /home/friedel/lib/emacs/org-mode/lisp/ob-scheme
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-scala
hides /home/friedel/lib/emacs/org-mode/lisp/ob-scala
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-sass
hides /home/friedel/lib/emacs/org-mode/lisp/ob-sass
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-ruby
hides /home/friedel/lib/emacs/org-mode/lisp/ob-ruby
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-ref
hides /home/friedel/lib/emacs/org-mode/lisp/ob-ref
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-python
hides /home/friedel/lib/emacs/org-mode/lisp/ob-python
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-plantuml
hides /home/friedel/lib/emacs/org-mode/lisp/ob-plantuml
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-picolisp
hides /home/friedel/lib/emacs/org-mode/lisp/ob-picolisp
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-perl
hides /home/friedel/lib/emacs/org-mode/lisp/ob-perl
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-org
hides /home/friedel/lib/emacs/org-mode/lisp/ob-org
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-octave
hides /home/friedel/lib/emacs/org-mode/lisp/ob-octave
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-ocaml
hides /home/friedel/lib/emacs/org-mode/lisp/ob-ocaml
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-mscgen
hides /home/friedel/lib/emacs/org-mode/lisp/ob-mscgen
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-maxima
hides /home/friedel/lib/emacs/org-mode/lisp/ob-maxima
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-matlab
hides /home/friedel/lib/emacs/org-mode/lisp/ob-matlab
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-lob
hides /home/friedel/lib/emacs/org-mode/lisp/ob-lob
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-lisp
hides /home/friedel/lib/emacs/org-mode/lisp/ob-lisp
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-lilypond
hides /home/friedel/lib/emacs/org-mode/lisp/ob-lilypond
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-ledger
hides /home/friedel/lib/emacs/org-mode/lisp/ob-ledger
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-latex
hides /home/friedel/lib/emacs/org-mode/lisp/ob-latex
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-keys
hides /home/friedel/lib/emacs/org-mode/lisp/ob-keys
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-js
hides /home/friedel/lib/emacs/org-mode/lisp/ob-js
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-java
hides /home/friedel/lib/emacs/org-mode/lisp/ob-java
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-io
hides /home/friedel/lib/emacs/org-mode/lisp/ob-io
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-haskell
hides /home/friedel/lib/emacs/org-mode/lisp/ob-haskell
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-gnuplot
hides /home/friedel/lib/emacs/org-mode/lisp/ob-gnuplot
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-fortran
hides /home/friedel/lib/emacs/org-mode/lisp/ob-fortran
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-exp
hides /home/friedel/lib/emacs/org-mode/lisp/ob-exp
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-eval
hides /home/friedel/lib/emacs/org-mode/lisp/ob-eval
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-emacs-lisp
hides /home/friedel/lib/emacs/org-mode/lisp/ob-emacs-lisp
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-dot
hides /home/friedel/lib/emacs/org-mode/lisp/ob-dot
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-ditaa
hides /home/friedel/lib/emacs/org-mode/lisp/ob-ditaa
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-css
hides /home/friedel/lib/emacs/org-mode/lisp/ob-css
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-comint
hides /home/friedel/lib/emacs/org-mode/lisp/ob-comint
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-clojure
hides /home/friedel/lib/emacs/org-mode/lisp/ob-clojure
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-calc
hides /home/friedel/lib/emacs/org-mode/lisp/ob-calc
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-awk
hides /home/friedel/lib/emacs/org-mode/lisp/ob-awk
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-asymptote
hides /home/friedel/lib/emacs/org-mode/lisp/ob-asymptote
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-R hides
/home/friedel/lib/emacs/org-mode/lisp/ob-R
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/ob-C hides
/home/friedel/lib/emacs/org-mode/lisp/ob-C
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/calendar/timeclock
hides /home/friedel/lib/emacs/planner/contrib/timeclock
/home/friedel/lib/emacs/muse/examples/johnw/muse-init hides
/home/friedel/lib/emacs/muse/examples/mwolson/muse-init
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-w3m
hides /home/friedel/lib/emacs/org-mode/contrib/lisp/org-w3m
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-wl
hides /home/friedel/lib/emacs/org-mode/contrib/lisp/org-wl
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-vm
hides /home/friedel/lib/emacs/org-mode/contrib/lisp/org-vm
/home/friedel/local/stow/emacs/share/emacs/24.3.50/lisp/org/org-mew
hides /home/friedel/lib/emacs/org-mode/contrib/lisp/org-mew
/home/friedel/lib/emacs/nxhtml/util/org-panel hides
/home/friedel/lib/emacs/org-mode/contrib/lisp/org-panel

Features:
(shadow emacsbug message rfc822 mml mml-sec mm-decode mm-bodies
mm-encode mailabbrev gmm-utils mailheader sendmail mail-utils debug
slime-sbcl-exts slime-tramp slime-asdf slime-fancy slime-fontifying-fu
slime-package-fu slime-references slime-scratch slime-presentations
slime-fuzzy slime-fancy-inspector slime-c-p-c slime-editing-commands
slime-autodoc slime-parse slime-repl elp slime hyperspec org-capture
org-mks tramp-cache tramp-sh org-archive org-colview browse-url post
xt-mouse xterm hippie-exp mule-util cal-iso url-http tls url url-proxy
url-privacy url-expand url-history mailcap url-auth mail-parse rfc2231
rfc2047 rfc2045 ietf-drums url-cookie url-domsuf url-gw url-methods
windmove smerge-mode magit-svn url-handlers misearch multi-isearch
time-stamp tabify org-element ffap highlight-parentheses quack
cmuscheme scheme sh-script smie executable cperl-mode nxml-uchnm
rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match
rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap
nxml-util nxml-glyph nxml-enc xmltok vc-hg conf-mode disp-table
org-checklist org-magit magit-bisect magit-key-mode magit iswitchb
view diff-mode log-edit pcvs-util add-log org-location-google-maps
google-maps google-maps-static url-util url-parse url-vars
google-maps-geocode google-maps-base org-notmuch org-clock org-timer
org-toc org-man org-mairix org-elisp-symbol org-bookmark bookmark pp
org-annotate-file org-w3m org-wl org-vm org-rmail org-protocol org-mhe
org-mew org-irc org-habit org-jsinfo org-infojs org-html org-exp
ob-exp org-exp-blocks org-agenda org-info org-id org-bibtex bibtex
org-bbdb elpy yasnippet virtualenv thingatpt python rx nose json
idomenu imenu highlight-indentation flymake compile
find-file-in-project etags elpy-refactor auto-complete-config
auto-complete popup git-gutter tramp tramp-compat auth-source eieio
eieio-core gnus-util mm-util mail-prsvr password-cache tramp-loaddefs
trampver shell coffee-mode browse-vcs-url vc vc-dispatcher server
my-bindings desktop session cedet-config epa-file epa epg epg-config
ediff monky bindat org-config notify cal-china lunar solar cal-dst
cal-islam cal-hebrew holidays hol-loaddefs vc-git generic dtrt-indent
appt diary-lib diary-loaddefs org ob-tangle ob-ref ob-lob ob-table
org-footnote org-src ob-comint ob-keys org-pcomplete org-list
org-faces org-entities noutline outline org-version ob-emacs-lisp ob
org-compat org-macs ob-eval org-loaddefs winpoint c-eldoc cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs lisp-stuff paredit edmacro kmacro help-mode dired+
dired-x ediff-merg ediff-wind ediff-diff ediff-mult ediff-help
ediff-init ediff-util dired-aux mutt-alias outline-or-allout-config
uniquify myfuncs tls-config auto-mode-config generic-x autoload-config
cal-menu calendar cal-loaddefs site-customisation customisations-cert
time timeclock saveplace pcomplete comint ansi-color ring esh-var
esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups
eshell esh-module esh-mode esh-util jka-compr type-break strokes paren
minibuf-eldef ido delsel image-file initsplit byte-opt cus-edit
cus-start cus-load wid-edit find-func use-package cl bytecomp
byte-compile cconv bind-key easy-mmode site-conditionals warnings
dired+-autoloads dired-single-autoloads elpy-autoloads
find-file-in-project-autoloads fuzzy-autoloads gnuplot-autoloads
gnuplot-mode-autoloads highlight-indentation-autoloads
idomenu-autoloads iedit-autoloads image-dired+-autoloads image-dired+
nadvice image-dired format-spec dired advice help-fns
ipython-autoloads jedi-autoloads auto-complete-autoloads epc-autoloads
ctable-autoloads concurrent-autoloads deferred-autoloads
mmm-mako-autoloads mmm-mode-autoloads info easymenu nose-autoloads
popup-autoloads virtualenv-autoloads yaml-mode-autoloads
yasnippet-autoloads package derived cl-macs gv cl-loaddefs cl-lib
time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list
newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan
thai tai-viet lao korean japanese hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
make-network-process dbusbind gfilenotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)

Kind regards
     Friedel
-- 
        Friedrich Delgado <friedel <at> nomaden.org>
                             TauPan on Ircnet and Freenode ;)
[Message part 2 (application/pgp-signature, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15812; Package emacs. (Wed, 06 Nov 2013 07:15:02 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andreas Röhler <andreas.roehler <at> easy-emacs.de>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#15812: 24.3.50; docstring starting with "return" confuses
 python-mode indentation
Date: Wed, 06 Nov 2013 08:16:12 +0100
Am 05.11.2013 16:21, schrieb Friedrich Delgado:
> def foo():
>      "return stuff"

May confirme this

GNU Emacs 24.3.50.1 (i686-pc-linux-gnu, GTK+ Version 2.24.10) of 2013-07-06




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15812; Package emacs. (Wed, 06 Nov 2013 11:52:01 GMT) Full text and rfc822 format available.

Message #11 received at 15812 <at> debbugs.gnu.org (full text, mbox):

From: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
To: Friedrich Delgado <friedel <at> nomaden.org>
Cc: 15812 <at> debbugs.gnu.org
Subject: Re: bug#15812: 24.3.50;
 docstring starting with "return" confuses python-mode indentation
Date: Wed, 06 Nov 2013 06:51:42 -0500
Friedrich Delgado <friedel <at> nomaden.org> writes:

> emacs -Q
> M-x python-mode
> M-x erase-buffer<RET>y<RET>y
> def foo():
>     "return stuff"
> <TAB>
>
> Expected behaviour: The cursor is placed under the first quotation
> mark (4 spaces indent)
>
> Actual behaviour: The cursor is placed at the beginning of the line.

Ditto for "break", "continue", "pass", "raise", and "return".  These are
the words that make up `python-indent-block-enders'.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15812; Package emacs. (Wed, 06 Nov 2013 14:24:02 GMT) Full text and rfc822 format available.

Message #14 received at 15812 <at> debbugs.gnu.org (full text, mbox):

From: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
To: Friedrich Delgado <friedel <at> nomaden.org>
Cc: 15812 <at> debbugs.gnu.org
Subject: Re: bug#15812: 24.3.50;
 docstring starting with "return" confuses python-mode indentation
Date: Wed, 06 Nov 2013 09:23:23 -0500
[Message part 1 (text/plain, inline)]
Friedrich Delgado <friedel <at> nomaden.org> writes:

> emacs -Q
> M-x python-mode
> M-x erase-buffer<RET>y<RET>y
> def foo():
>     "return stuff"
> <TAB>
>
> Expected behaviour: The cursor is placed under the first quotation
> mark (4 spaces indent)
>
> Actual behaviour: The cursor is placed at the beginning of the line.

Patch attached with regression test.  `python-nav-begining-of-statement'
puts point on the first non-whitespace character of the statement, so
it's safe to use `looking-at' here.

[python-mode.el.patch (text/x-diff, inline)]
From 49df44bf51b0a3b2a8c90180764aa37d5f3e95de Mon Sep 17 00:00:00 2001
From: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
Date: Wed, 6 Nov 2013 08:11:43 -0500
Subject: [PATCH] Fix python-mode indentation bug #15812, and add regression
 test.

* progmodes/python.el (python-indent-calculate-indentation): When
determining indentation, don't treat "return", "pass", etc., as
operators when they are just string constituents.  (Bug#15812)

* automated/python-test.el (python-indent-block-enders)
(python-indent-block-enders-1, python-indent-block-enders-2):
Rename one test, add another.
---
 lisp/ChangeLog                 |  6 ++++++
 lisp/progmodes/python.el       |  2 +-
 test/ChangeLog                 |  6 ++++++
 test/automated/python-tests.el | 23 ++++++++++++++++++++++-
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d69ea7c..847a335 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-06  Nathan Trapuzzano  <nbtrap <at> nbtrap.com>
+
+	* progmodes/python.el (python-indent-calculate-indentation): When
+	determining indentation, don't treat "return", "pass", etc., as
+	operators when they are just string constituents.  (Bug#15812)
+
 2013-11-06  Eli Zaretskii  <eliz <at> gnu.org>
 
 	* menu-bar.el (popup-menu, menu-bar-open): When displaying TTY
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 7a90f0b..4d4c504 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -775,7 +775,7 @@ START is the buffer position where the sexp starts."
                     (save-excursion
                       (python-util-forward-comment -1)
                       (python-nav-beginning-of-statement)
-                      (member (current-word) python-indent-block-enders)))
+                      (looking-at (regexp-opt python-indent-block-enders))))
                 python-indent-offset
               0)))
           ;; When inside of a string, do nothing. just use the current
diff --git a/test/ChangeLog b/test/ChangeLog
index e032af4..a0ad888 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,9 @@
+2013-11-06  Nathan Trapuzzano  <nbtrap <at> nbtrap.com>
+
+	* automated/python-test.el (python-indent-block-enders)
+	(python-indent-block-enders-1, python-indent-block-enders-2):
+	Rename one test, add another.
+
 2013-11-06  Michael Albinus  <michael.albinus <at> gmx.de>
 
 	* automated/tramp-tests.el (tramp-test07-file-exists-p):
diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el
index ef1c015..798e21f 100644
--- a/test/automated/python-tests.el
+++ b/test/automated/python-tests.el
@@ -447,7 +447,7 @@ objects = Thing.objects.all() \\\\
    (should (eq (car (python-indent-context)) 'after-line))
    (should (= (python-indent-calculate-indentation) 0))))
 
-(ert-deftest python-indent-block-enders ()
+(ert-deftest python-indent-block-enders-1 ()
   "Test `python-indent-block-enders' value honoring."
   (python-tests-with-temp-buffer
    "
@@ -469,6 +469,27 @@ Class foo(object):
    (forward-line 1)
    (should (= (python-indent-calculate-indentation) 8))))
 
+(ert-deftest python-indent-block-enders-2 ()
+  "Test `python-indent-block-enders' value honoring."
+  (python-tests-with-temp-buffer
+   "
+Class foo(object):
+    '''raise lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
+
+    eiusmod tempor incididunt ut labore et dolore magna aliqua.
+    '''
+    def bar(self):
+        \"return (1, 2, 3).\"
+        if self.baz:
+            return (1,
+                    2,
+                    3)
+"
+   (python-tests-look-at "def")
+   (should (= (python-indent-calculate-indentation) 4))
+   (python-tests-look-at "if")
+   (should (= (python-indent-calculate-indentation) 8))))
+
 
 ;;; Navigation
 
-- 
1.8.4.2


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15812; Package emacs. (Thu, 07 Nov 2013 08:37:02 GMT) Full text and rfc822 format available.

Message #17 received at 15812 <at> debbugs.gnu.org (full text, mbox):

From: Friedrich Delgado <friedel <at> nomaden.org>
To: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
Cc: 15812 <at> debbugs.gnu.org
Subject: Re: bug#15812: 24.3.50; docstring starting with "return" confuses
 python-mode indentation
Date: Thu, 7 Nov 2013 09:36:44 +0100
[Message part 1 (text/plain, inline)]
Hi!

In case user feedback is welcome:
Your patch fixes the  problem for me.

Thanks
        Friedel
-- 
        Friedrich Delgado <friedel <at> nomaden.org>
                             TauPan on Ircnet and Freenode ;)
[Message part 2 (application/pgp-signature, inline)]

Reply sent to fgallina <at> gnu.org (Fabián Ezequiel Gallina):
You have taken responsibility. (Thu, 12 Dec 2013 03:52:03 GMT) Full text and rfc822 format available.

Notification sent to Friedrich Delgado <friedel <at> nomaden.org>:
bug acknowledged by developer. (Thu, 12 Dec 2013 03:52:04 GMT) Full text and rfc822 format available.

Message #22 received at 15812-done <at> debbugs.gnu.org (full text, mbox):

From: fgallina <at> gnu.org (Fabián Ezequiel Gallina)
To: 15812-done <at> debbugs.gnu.org
Date: Thu, 12 Dec 2013 00:51:34 -0300
Fixed in revno 115477.

Thanks Nathan Trapuzzano for the patch.


Regards,
Fabián.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#15812; Package emacs. (Thu, 12 Dec 2013 04:22:02 GMT) Full text and rfc822 format available.

Message #25 received at 15812 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: nbtrap <at> nbtrap.com
Cc: fgallina <at> gnu.org, 15812 <at> debbugs.gnu.org
Subject: Re: bug#15812:
Date: Wed, 11 Dec 2013 23:21:18 -0500
Fabián Ezequiel Gallina wrote:

> Thanks Nathan Trapuzzano for the patch.

We have several changes from you in Emacs now.
Would you be willing to complete a copyright assignment?
I don't think we can accept any more changes without one.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 09 Jan 2014 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 10 years and 130 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.