GNU bug report logs - #21242
24.5.1; python.el: should display output buffer on exceptions when using python-shell-send-region

Previous Next

Package: emacs;

Reported by: Yuri D'Elia <wavexx <at> thregr.org>

Date: Wed, 12 Aug 2015 14:06:01 UTC

Severity: wishlist

Tags: moreinfo

Found in version 24.5.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Yuri D'Elia <wavexx <at> thregr.org>
Cc: 21242 <at> debbugs.gnu.org
Subject: bug#21242: 24.5.1; python.el: should display output buffer on exceptions when using python-shell-send-region
Date: Thu, 17 Sep 2020 20:01:20 +0200
Yuri D'Elia <wavexx <at> thregr.org> writes:

> When evaluating the code interactively, there's currently no
> notification about evaluation errors. Exceptions in the output buffer go
> simply unnoticed, unless you watch for them closely. I like to keep the
> output buffer buried, and assume that no-notification==no-error.
>
> Exceptions caused by interactive evaluation should either:
>
> - show a notification of sorts in the minibuffer
> - display the output buffer for inspection

I don't use this stuff a lot, but I just don't understand how the patch
attached relates to the reported problem.

And there's also Andreas's comment (at the end).

Yuri, could you explain a bit more about how this patch fixes the
problem?

> -         (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)))

Andreas Röhler <andreas.roehler <at> easy-emacs.de> writes:

>> Given previous experience with python-mode.el (which tends to break the
>> current window layout with his own splitting logic), I find it important
>> that the notification function (which displays the output buffer) should
>> be customizable, and this is reflected in the example code.
>
> WRT python-mode.el:
>
> Splitting-behavior _is_ customizable. It only occurs if
> py-split-window-on-execute is non-nil - default is 'just-two.
> Also there is py-keep-windows-configuration, when non-nil it precedes
> other settings.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




This bug report was last modified 4 years and 250 days ago.

Previous Next


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