--- python.el.Orig 2015-07-18 18:00:49.367517569 +0200 +++ python.el 2015-07-18 18:03:01.203659502 +0200 @@ -2548,18 +2548,22 @@ (make-string ;; Subtract 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)) - (progn - (python-util-forward-comment 1) - (zerop (current-indentation))))))) + (block-param (save-excursion + (goto-char start) + (progn + (python-util-forward-comment 1) + (list (current-indentation) + (/= (point) start))))) + (block-indentation (car block-param)) + (starts-with-indentation-p (cadr block-param))) (with-temp-buffer (python-mode) (if fillstr (insert fillstr)) + (when (and (> block-indentation 0) (not starts-with-indentation-p)) + (insert (make-string block-indentation ?\s))) (insert substring) (goto-char (point-min)) - (when (not toplevel-block-p) + (when (> block-indentation 0) (insert "if True:") (delete-region (point) (line-end-position))) (when nomain