GNU bug report logs - #21193
25.0.50; python-shell-buffer-substring adds bogus if True: to unindented line

Previous Next

Package: emacs;

Reported by: Jorgen Schaefer <contact <at> jorgenschaefer.de>

Date: Wed, 5 Aug 2015 11:05:01 UTC

Severity: normal

Merged with 21086

Found in version 25.0.50

Fixed in version 24.5

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

Bug is archived. No further changes may be made.

Full log


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

From: Jorgen Schaefer <contact <at> jorgenschaefer.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 25.0.50;
 python-shell-buffer-substring adds bogus if True: to unindented line
Date: Wed, 05 Aug 2015 13:04:17 +0200
Hello!

The function `python-shell-buffer-substring' can get confused when it is
used to send a substring of a line. It tries to add if True: around an
indented piece of code to prevent indentation errors, but it fails at
detecting indented code correctly:

(with-temp-buffer
  (insert "def foo():\n"
          "    print('a')\n")
  (re-search-backward "print")
  (python-shell-buffer-substring (point) (point-at-eol) t))

=>

"if True:
print('a')"

Note that the "print" line in the resulting code is not indented.

The expected result would be either "print('a')" or
"if True:\n    print('a')".

Regards,
Jorgen




This bug report was last modified 9 years and 277 days ago.

Previous Next


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