From: Fabián Ezequiel Gallina Date: Sat, 27 Dec 2014 20:22:29 +0000 (-0300) Subject: * lisp/progmodes/python.el (python-shell-buffer-substring): Handle X-Git-Tag: emacs-24.4.90~94 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=433af0a;p=emacs.git * lisp/progmodes/python.el (python-shell-buffer-substring): Handle cornercase when region sent starts at point-min. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cf866fa9d52..4b8f8f61c43 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-12-27 Fabián Ezequiel Gallina + + * progmodes/python.el (python-shell-buffer-substring): Handle + cornercase when region sent starts at point-min. + 2014-12-27 Eli Zaretskii * language/misc-lang.el (composition-function-table): Add Syriac diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 4a4e320cd65..0d80110f7b7 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2523,17 +2523,16 @@ the python shell: 4. Wraps indented regions under an \"if True:\" block so the interpreter evaluates them correctly." (let* ((substring (buffer-substring-no-properties start end)) - (buffer-substring-p (save-restriction - (widen) - (not (equal (list (point-min) (point-max)) - (list start end))))) + (starts-at-point-min-p (save-restriction + (widen) + (= (point-min) start))) (encoding (python-info-encoding)) - (fillstr (concat - (when buffer-substring-p - (format "# -*- coding: %s -*-\n" encoding)) - (make-string - (- (line-number-at-pos start) - (if buffer-substring-p 2 1)) ?\n))) + (fillstr (when (not starts-at-point-min-p) + (concat + (format "# -*- coding: %s -*-\n" encoding) + (make-string + ;; Substract 2 because of the coding cookie. + (- (line-number-at-pos start) 2) ?\n)))) (toplevel-block-p (save-excursion (goto-char start) (or (zerop (line-number-at-pos start)) diff --git a/test/ChangeLog b/test/ChangeLog index 101e9d9caa7..74d46775431 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,7 @@ +2014-12-27 Fabián Ezequiel Gallina + + (python-shell-buffer-substring-9): New test. + 2014-12-27 Fabián Ezequiel Gallina * automated/python-tests.el (python-shell-buffer-substring-1) diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el index 8fcda58e1e0..a4948571242 100644 --- a/test/automated/python-tests.el +++ b/test/automated/python-tests.el @@ -2651,6 +2651,27 @@ class Foo(models.Model): pass ")))) +(ert-deftest python-shell-buffer-substring-9 () + "Check substring starting from `point-min'." + (python-tests-with-temp-buffer + "# coding: utf-8 + +class Foo(models.Model): + pass + +class Bar(models.Model): + pass +" + (should (string= (python-shell-buffer-substring + (point-min) + (python-tests-look-at "class Bar(models.Model):")) + "# coding: utf-8 + +class Foo(models.Model): + pass + +")))) + ;;; Shell completion