From unknown Tue Jun 17 20:13:40 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#62783 <62783@debbugs.gnu.org> To: bug#62783 <62783@debbugs.gnu.org> Subject: Status: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter Reply-To: bug#62783 <62783@debbugs.gnu.org> Date: Wed, 18 Jun 2025 03:13:40 +0000 retitle 62783 [PATCH] comint-mime: Add Matplotlib support in the standard i= nterpreter reassign 62783 emacs submitter 62783 James Thomas severity 62783 wishlist tag 62783 notabug patch thanks From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 11 19:18:25 2023 Received: (at submit) by debbugs.gnu.org; 11 Apr 2023 23:18:25 +0000 Received: from localhost ([127.0.0.1]:38490 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmNFo-00055Q-P3 for submit@debbugs.gnu.org; Tue, 11 Apr 2023 19:18:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:43564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmNFk-00055F-0A for submit@debbugs.gnu.org; Tue, 11 Apr 2023 19:18:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pmNFi-0000Ya-SS for bug-gnu-emacs@gnu.org; Tue, 11 Apr 2023 19:18:19 -0400 Received: from mout.gmx.net ([212.227.17.20]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pmNFg-0003bl-1y for bug-gnu-emacs@gnu.org; Tue, 11 Apr 2023 19:18:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1681255092; i=jimjoe@gmx.net; bh=FxsazpeAngn3tlcUYMp/iW5eZZBI1AULIInmRznsICQ=; h=X-UI-Sender-Class:From:To:Subject:Date; b=keSHpCRJXmwqTcnSlwEp3EpkrIFO4Wms9eJgzZgbITHo05Stm8sKxn1JoGhI02VAD 9Ix7wvh6CQo3AK6vwJoGY4NPKQV5ulP4PjsaCzM8UBl8PrXPt5cl0C8BhLqZGlP2qd Yfr0ShQGnr9o6bP0YdlqkVmVN4kt5gTzt9s3HKmUEPeZhVw5j32BY1a5HZUz75blUt r7NUeap+7YhI8AQ9omtEkPr4C44UG+4YTmkzZsUdD5DxjJSK4ZatmCEtfNReLJanlq PRiVinHD3BbtcW1LoC5Ei6S7IgMGBiZDd6xAVadaoSPwfEeg+pRG1MkrMU830clYG8 JlieR1Mfpbjng== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from user-Inspiron-15-5518 ([117.194.153.45]) by mail.gmx.net (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1M42jQ-1pmNFb19OK-0005qG for ; Wed, 12 Apr 2023 01:18:12 +0200 From: James Thomas To: bug-gnu-emacs@gnu.org Subject: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter X-Debbugs-CC: arstoffel@gmail.com Date: Wed, 12 Apr 2023 04:48:08 +0530 Message-ID: <873556t3db.fsf@outlook.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:VP+t6zpdmLb89uSouJWGUhlEc/tUDwf+4NWqh7+U58vcYUIZgPY Hej5WPfCm4j0OI6N5PPancUrwTfSXhqj+G+6pVyjmXQJypYu0d2yaYEDIOd+IU+bWw6GCNh iw7x6o/hMRj19y3wZxHfbNR9Wv/19gMjafiXVUdXDXnNv9/vWrF6A+KDURN7gR6v2wT4SqX by+PhzLKRHr68o4V0oXQQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:Vm3YdwY8K44=;gHPO7cEDG05ICp0OAFqBHV0t8FE KUiiqb5BdIa0HL2NZ+M8F0zolrNsxfIRGi8vawVJJq0zEr7S88Q3Yyv7xWur3T2V//l/cVETF o+h7IE40xRt6zxtPjz0rld7Nu7VF1gqD/xD36+HXDL4I1V3uCsAn5pewwsMKrcfGV5a9W/rTV 0xT9fN8OLOlPDzwFix/7g7JPm9Y9DJ4x/A0mY2pKUuw/59PIvd9EueBYMeYucHR84T1LEPJiy 1aiyRpmjUVPXX0xbS1ZImIWlWDmnGurUzUQpfXbR0loZ/q+WAqgo5PSX4muOwofPPKvTAeqRa C07VB+OsVO/0m/YWVIYTHE9Ybp3D0hUJNPwEgJTDMkWyeTpxrelfu24rvf7JH5pN2oyJ7eL7E 85Qo4P0Ll8S5g1WDB3cobWgAyB2GRn3dRW5n3yFyxh6K3oagvSI97I5I01R19HBuNFU46Cnv1 lvib7rszGGpbSeS0KTXA5v3D9Ey45aP2E39CrHi3m23+KfGzO3ltl47tZyZs5rX9mi4hQmJS7 /NVAeujN8ElaPOZz8eIleU3l98T72uHH8GQv9Mt+IDmI7JWqWxeP0sgl6aZecCAgN1mF4Eh9g pqtICkvGTdTdlvyIthWvqGbcvqGo3CwoCYSxoarLE/d6HDtAxO8phjueEKBPA+9YR5W+Z/WQS uYLShhuFlUC36tWHw6GLhleQbMqOAyFHe+3avDckzF6HiYLBsdIvNF0AcpLNokPxQsKVHfMT9 MhWGTLfFr6yIBoZKttN1RU+n2j4yV9SEmsgEpEzkP4igkuE+C29ZWNIJSg9YE4qevGijftFo3 Rlt4GDwhtVno5zxm5530H9LqTRd6ErosUfuYFSHKBzxcnnLIWWvdas+8T7+3P3CZpZhLFhcNd KuRrkf6AnHPcA9EtzdwTfPLZ4Avyg38QMul9o5rkC9pVPt2rXv6hl5fMwvYfHD5VfvzmxATgp CuZnQGfueEIv8Fn6JSlasQr4U6A= Received-SPF: pass client-ip=212.227.17.20; envelope-from=jimjoe@gmx.net; helo=mout.gmx.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Severity: wishlist Tags: notabug, patch This adds support for Matplotlib using the standard interpreter (rather than IPython). It was tested like this: M-x run-python M-x comint-mime-setup >>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots() >>> ax.plot([1, 2, 3, 4], [1, 4, 2, 3]) >>> plt.show() I haven't tested whether this breaks the existing IPython functionality - but see no reason why it should. In GNU Emacs 29.0.60 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0) of 2023-04-01 built on user-Inspiron-15-5518 Repository revision: 6419d78fa6f8a7794893da5a8a5d65f75a5a29fa Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101003 System Description: Ubuntu 22.04.2 LTS --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-Add-Matplotlib-support-in-the-standard-interpreter.patch Content-Transfer-Encoding: quoted-printable =46rom 1da8d5f35fb9009af3bded259f47e3ae07b26fd9 Mon Sep 17 00:00:00 2001 From: James Thomas Date: Tue, 11 Apr 2023 19:29:29 +0530 Subject: [PATCH] Add Matplotlib support in the standard interpreter * comint-mime.py (__COMINT_MIME_setup): Add Matplotlib backend module and loader. =2D-- comint-mime.py | 100 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 76 insertions(+), 24 deletions(-) diff --git a/comint-mime.py b/comint-mime.py index d55698c..6c7425c 100644 =2D-- a/comint-mime.py +++ b/comint-mime.py @@ -1,12 +1,16 @@ # This file is part of https://github.com/astoff/comint-mime def __COMINT_MIME_setup(types): + ipython =3D False try: ipython =3D get_ipython() assert ipython except: - print("`comint-mime' error: IPython is required") - return + try: + from matplotlib import _api + except: + print("`comint-mime' error: IPython or Matplotlib is required= ") + return from base64 import encodebytes from functools import partial @@ -21,19 +25,6 @@ def __COMINT_MIME_setup(types): SIZE_LIMIT =3D 4000 - MIME_TYPES =3D { - "image/png": encoding_workaround, - "image/jpeg": encoding_workaround, - "text/latex": str.encode, - "text/html": str.encode, - "application/json": lambda d: to_json(d).encode(), - } - - if types =3D=3D "all": - types =3D MIME_TYPES - else: - types =3D types.split(";") - def print_osc(type, encoder, data, meta): meta =3D meta or {} if encoder: @@ -48,14 +39,75 @@ def __COMINT_MIME_setup(types): payload =3D encodebytes(data).decode() print(f"\033]5151;{header}\n{payload}\033\\") - ipython.enable_matplotlib("inline") - ipython.display_formatter.active_types =3D list(MIME_TYPES.keys()) - for mime, encoder in MIME_TYPES.items(): - ipython.display_formatter.formatters[mime].enabled =3D mime in ty= pes - ipython.mime_renderers[mime] =3D partial(print_osc, mime, encoder= ) + if ipython: + MIME_TYPES =3D { + "image/png": encoding_workaround, + "image/jpeg": encoding_workaround, + "text/latex": str.encode, + "text/html": str.encode, + "application/json": lambda d: to_json(d).encode(), + } - if types: - print("`comint-mime' enabled for", - ", ".join(t for t in types if t in MIME_TYPES.keys())) + if types =3D=3D "all": + types =3D MIME_TYPES + else: + types =3D types.split(";") + + ipython.enable_matplotlib("inline") + ipython.display_formatter.active_types =3D list(MIME_TYPES.keys()= ) + for mime, encoder in MIME_TYPES.items(): + ipython.display_formatter.formatters[mime].enabled =3D mime i= n types + ipython.mime_renderers[mime] =3D partial(print_osc, mime, enc= oder) + + if types: + print("`comint-mime' enabled for", + ", ".join(t for t in types if t in MIME_TYPES.keys())) + else: + print("`comint-mime' disabled") else: - print("`comint-mime' disabled") + from importlib.abc import Loader, MetaPathFinder + from importlib.machinery import ModuleSpec + from sys import meta_path + from matplotlib.backend_bases import FigureManagerBase + from matplotlib.backends.backend_agg import FigureCanvasAgg + from matplotlib import use + + class BackendModuleLoader(Loader): + def create_module(self, spec): + return None + def exec_module(self, module): + from io import BytesIO + from base64 import encodebytes + from json import dumps as to_json + from pathlib import Path + + class FigureCanvasEmacsComintMime(FigureCanvasAgg): + manager_class =3D _api.classproperty(lambda cls: Figu= reManagerEmacsComintMime) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + class FigureManagerEmacsComintMime(FigureManagerBase): + + def __init__(self, canvas, num): + super().__init__(canvas, num) + + def show(self): + self.canvas.figure.draw_without_rendering() + buf =3D BytesIO() + self.canvas.print_png(buf) + print_osc("image/png", encoding_workaround, buf.g= etvalue(), None) + + module.FigureCanvas =3D FigureCanvasEmacsComintMime + module.FigureManager =3D FigureManagerEmacsComintMime + + class BackendModuleFinder(MetaPathFinder): + def find_spec(self, fullname, path, target=3DNone): + if fullname =3D=3D 'emacscomintmime': + return ModuleSpec(fullname, BackendModuleLoader()) + else: + return None + + meta_path.append(BackendModuleFinder()) + use("module://emacscomintmime") + print("`comint-mime' enabled for Matplotlib") =2D- 2.34.1 --=-=-= Content-Type: text/plain (This is a duplicate message to the maintainer; because I suspect that a previous direct follow-up of mine to him has gone to spam) -- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 12 02:44:42 2023 Received: (at 62783) by debbugs.gnu.org; 12 Apr 2023 06:44:42 +0000 Received: from localhost ([127.0.0.1]:38800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmUDi-0000Qg-8F for submit@debbugs.gnu.org; Wed, 12 Apr 2023 02:44:42 -0400 Received: from mail-ej1-f47.google.com ([209.85.218.47]:45036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmUDc-0000QO-3j for 62783@debbugs.gnu.org; Wed, 12 Apr 2023 02:44:40 -0400 Received: by mail-ej1-f47.google.com with SMTP id kt17so14000623ejb.11 for <62783@debbugs.gnu.org>; Tue, 11 Apr 2023 23:44:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681281870; x=1683873870; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=cNaSXkwGu9F/t5NRqhGKiWb2aniDo3kH8jUoLXqq94Q=; b=YyWNrML5qE/3jmK2LaqBTzzbrlDJGgpBB4KetdbZd6Xnc+Pbe9okc6f9Ie4dcjJH+/ bxbbK5eX51UoppuomG7gYVLwKpSOak3tIh0nvFFGxfkMUz4KWNpKXYX9p1YjlCCGaSLC omi8u6yO1hOnT6pqpw1mxI4UdFZ4+YNXfDQ7+YBp1A0fv+LpfnmemlQd3388mLh0Ixuz x0r0EwcONNWqacIP/qmw0AthWY8qxinnADRhrWqGeiIQeIDAtW/PJiRj0+JOUfnQAjkb 2zPruT1GplBPJlC9n2vxB21Qy+d7pvs4zqdPoSPjsgJnq5RNYv0xtMz/m/Yq3azD25BF 20eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1681281870; x=1683873870; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=cNaSXkwGu9F/t5NRqhGKiWb2aniDo3kH8jUoLXqq94Q=; b=I1hWr6mvXEuWBQs8RFfPv5uI6mPPTVO+RHowDq0ldYutR9cUL/ySDEAAly1DjGUdJ1 8X/lj870v7FXItTbejIZn43RzJ4l4KK8ul9mKV0mL+1o9wAJr2QOCU5pWHAshMMmzL7y UzNGmffCWlWWXSOVUstm5z5KkAgxFuH7LSI3b6uSdggsonPOUcrHZB1H83HCn8dFl/zu /RrEtcUWUfCVxmW3dLZkCnPiZXEEqRxT9/qltBt5E2AROnNaT2T6DtBEvYp1A6EI17c3 M7nlFBx7ksJiv7CituSRERxS+Wf+sZtKGN8daeENyHsjbDzvX6Vk0TbkoMq4SqhfQuzg zOAA== X-Gm-Message-State: AAQBX9c1+re7d2SWuSr1XYhVYkcZPtIWNQlk1Slbo+QzImhCkOivuAox nCD8zj5CC7tBUnxv6n6hMdaZT6W+/aI= X-Google-Smtp-Source: AKy350bAuwTIoyFjH5j1KHC8260C070kqnGh3BKNa4ViKmE8Z4iIoaRTFYtxa9KJ5D1JKE8lOgbHow== X-Received: by 2002:a17:907:8e0f:b0:94a:96f2:7cae with SMTP id th15-20020a1709078e0f00b0094a96f27caemr7217851ejc.72.1681281869676; Tue, 11 Apr 2023 23:44:29 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::aca8]) by smtp.gmail.com with ESMTPSA id z11-20020a1709060acb00b0094a57f50d7csm3784085ejf.200.2023.04.11.23.44.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Apr 2023 23:44:28 -0700 (PDT) From: Augusto Stoffel To: James Thomas Subject: Re: bug#62783: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter In-Reply-To: <873556t3db.fsf@outlook.com> (James Thomas's message of "Wed, 12 Apr 2023 04:48:08 +0530") References: <873556t3db.fsf@outlook.com> Date: Wed, 12 Apr 2023 08:44:27 +0200 Message-ID: <87fs95ob04.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62783 Cc: 62783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wed, 12 Apr 2023 at 04:48, James Thomas wrote: > Severity: wishlist > Tags: notabug, patch > > This adds support for Matplotlib using the standard interpreter (rather > than IPython). It was tested like this: > > M-x run-python > M-x comint-mime-setup >>>> import matplotlib.pyplot as plt >>>> fig, ax = plt.subplots() >>>> ax.plot([1, 2, 3, 4], [1, 4, 2, 3]) >>>> plt.show() > > I haven't tested whether this breaks the existing IPython functionality > - but see no reason why it should. Thanks, I will have a look at this soon. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 12 06:32:23 2023 Received: (at 62783) by debbugs.gnu.org; 12 Apr 2023 10:32:23 +0000 Received: from localhost ([127.0.0.1]:39124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmXm2-0001Zn-KN for submit@debbugs.gnu.org; Wed, 12 Apr 2023 06:32:23 -0400 Received: from mout.gmx.net ([212.227.15.18]:35195) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pmXlz-0001ZX-9t for 62783@debbugs.gnu.org; Wed, 12 Apr 2023 06:32:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1681295532; i=jimjoe@gmx.net; bh=KAdaT6Pxx7gOPBdUDk/VS/3sA7Pa40JnaMMPBpFtb2c=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=UgWTr7Oeyc6/kl+k4rnLaAGKX7mq23iSdjNq4Re/7y7uM0fShvRfG9U3/ecHqQukT f4dVbCjTGZElX9admZeNRMriPdFk9gfUgN5q7twqI4n3A6z4E8fGqywT9wXQOX5z9i S1IHGR42nSO/XRkeF1Jx3VVCo41aHw1cWHnRM4eO6D/+GPeDngkPsdM/luxR0C18Ru /e6eO55KxTXmatTBAV0ZUzfVo8lx00kv41NForvTUNu1N1SiJKXMmYY23IYwO87VQT 3sLSA6wxwKHdiFRfRTj5KLglgmHHyAv20gOeLZDLOe3au39xKVyF/o9B0oEsYwDOyP G/assDBCOo0AQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from user-Inspiron-15-5518 ([202.88.237.228]) by mail.gmx.net (mrgmx004 [212.227.17.184]) with ESMTPSA (Nemesis) id 1M7Jza-1pjFzD1ukW-007pFE; Wed, 12 Apr 2023 12:32:12 +0200 From: James Thomas To: Augusto Stoffel Subject: Re: bug#62783: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter In-Reply-To: <87fs95ob04.fsf@gmail.com> (Augusto Stoffel's message of "Wed, 12 Apr 2023 08:44:27 +0200") References: <873556t3db.fsf@outlook.com> <87fs95ob04.fsf@gmail.com> Date: Wed, 12 Apr 2023 16:02:07 +0530 Message-ID: <871qkp1jdk.fsf@gmx.net> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Provags-ID: V03:K1:msoFZNDZlI4jTsVQtILKdfe2/5gA3bI8XubWqbc3iaV+twWdGcs hVTEjA0H3XLLvQMu/1TxmIoURUiTxazfJCacgEOfZaCDxt6usBWFhw7g1mvfFxDw6ngG16x JfTYXvNo7D/eIZ7MG2OkPLLEpDIKZcu4Djz/KVI+clt5Zf4I0GZ36QeRE9ySuIAKkZ/dkrM 1YrAqB25ZXySZ63FpHcmQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:PgB6bNOqy0o=;lXn1vMA2UQ/g1Cz2CJQQB6nPKyv +ekuP9wVrTgEN2vMq7JfhPTxAiK6y6zwwZ2uP/nG4LqtRVCAGMfpTxOaVb4TTrGlfBhNi9sLd h0IpG1TZebqJk+AiIjphnX5gsO9TU4Cm55gg4pVtnOOatQyC/ffmowZCWtLPu9IIudqUS49zg Kd9g20xdoCRCZo5MQpyUmdWxe278MZoHc9SSNeBM6s8oPq6HduH6AQgQJhRrYJgNCHTatDawW aX+4SYQpNg2VZYGVvAncilRvUDgLcdvOUYBTJeH2qwrMQh8uruufogSR436vhRDfK41V04a8y OTXNPM7VmqVmhJMPqb4SwZ5vltGrB5TEI65KXBzwJFouuD37saXeypC10JDlaaEF5QiKpC64O ZmpjujB1oratIQEjcztPrkBmfhFMsQsWxdXx6Zj9uqT/ORY7PSK9+sNEWnaE+P+//SajSFUUn uPZy5dv27rmz3LEeqH9bpfaVpUmCzO8pPiCHsotgm8uav7VcBn0Hl9OTqt/A0/Pdv1JmDiObu xN5ivoNIXJ2K07lwnBnsbcbvBqncZUzbvjuXumKH82+mV5EE1IZ/ERa1TvkEad7dAwaQN2DQ8 IzPdCso7LRz4Cj4GMUYfTBkcTrd7p16PQ/ePgNjsGjNROmSoIDb4By7VDSU6ygRlKHSpXyRTm 21/jjFZqUO97QNAlc2Bal8TDbdtOzVmL6RBLASsYZsDbBM3JPpxa0okGvHh4O/BUxcZxv0yGT AIdsk627pDTgF5A+j7X9iJpfKIXu4dKmMgSiE1TiSGduPdcuIgGxzOTEf/ttq1aZb7fNZBpF0 zHe8+ktZTpZbwjHk9Rtc70hyG+VI3nJO4THOps+M7Ks0OjjTEQGDAoaq3ORcOZBzpcQYGhxIY 1r92c6Ac2BJPM46qCnbNSop8g9V8fvF4NknGs9Xki4fmWg3AtQr8Fup1xL0SpAj+YHewej9ye ENNH0zoGG7WyxoeZkuwW57knets= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62783 Cc: 62783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain Augusto Stoffel wrote: > Thanks, I will have a look at this soon. Please prefer this slightly modified patch. It makes it possible for users to switch backends at the beginning with matplotlib.use even if comint-mime is enabled. --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Add-Matplotlib-support-in-the-standard-interpreter.patch Content-Transfer-Encoding: quoted-printable =46rom 502ca4a679083a2a5334ed46a1a629001a43a0f2 Mon Sep 17 00:00:00 2001 From: James Thomas Date: Tue, 11 Apr 2023 19:29:29 +0530 Subject: [PATCH] Add Matplotlib support in the standard interpreter * comint-mime.py (__COMINT_MIME_setup): Add Matplotlib backend module and loader. =2D-- comint-mime.py | 102 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 78 insertions(+), 24 deletions(-) diff --git a/comint-mime.py b/comint-mime.py index d55698c..7739671 100644 =2D-- a/comint-mime.py +++ b/comint-mime.py @@ -1,12 +1,15 @@ # This file is part of https://github.com/astoff/comint-mime def __COMINT_MIME_setup(types): + ipython =3D False try: ipython =3D get_ipython() assert ipython except: - print("`comint-mime' error: IPython is required") - return + import importlib.util + if not importlib.util.find_spec("matplotlib"): + print("`comint-mime' error: IPython or Matplotlib is required= ") + return from base64 import encodebytes from functools import partial @@ -21,19 +24,6 @@ def __COMINT_MIME_setup(types): SIZE_LIMIT =3D 4000 - MIME_TYPES =3D { - "image/png": encoding_workaround, - "image/jpeg": encoding_workaround, - "text/latex": str.encode, - "text/html": str.encode, - "application/json": lambda d: to_json(d).encode(), - } - - if types =3D=3D "all": - types =3D MIME_TYPES - else: - types =3D types.split(";") - def print_osc(type, encoder, data, meta): meta =3D meta or {} if encoder: @@ -48,14 +38,78 @@ def __COMINT_MIME_setup(types): payload =3D encodebytes(data).decode() print(f"\033]5151;{header}\n{payload}\033\\") - ipython.enable_matplotlib("inline") - ipython.display_formatter.active_types =3D list(MIME_TYPES.keys()) - for mime, encoder in MIME_TYPES.items(): - ipython.display_formatter.formatters[mime].enabled =3D mime in ty= pes - ipython.mime_renderers[mime] =3D partial(print_osc, mime, encoder= ) + if ipython: + MIME_TYPES =3D { + "image/png": encoding_workaround, + "image/jpeg": encoding_workaround, + "text/latex": str.encode, + "text/html": str.encode, + "application/json": lambda d: to_json(d).encode(), + } - if types: - print("`comint-mime' enabled for", - ", ".join(t for t in types if t in MIME_TYPES.keys())) + if types =3D=3D "all": + types =3D MIME_TYPES + else: + types =3D types.split(";") + + ipython.enable_matplotlib("inline") + ipython.display_formatter.active_types =3D list(MIME_TYPES.keys()= ) + for mime, encoder in MIME_TYPES.items(): + ipython.display_formatter.formatters[mime].enabled =3D mime i= n types + ipython.mime_renderers[mime] =3D partial(print_osc, mime, enc= oder) + + if types: + print("`comint-mime' enabled for", + ", ".join(t for t in types if t in MIME_TYPES.keys())) + else: + print("`comint-mime' disabled") else: - print("`comint-mime' disabled") + from importlib.abc import Loader, MetaPathFinder + from importlib.machinery import ModuleSpec + from sys import meta_path + from os import environ + + environ["MPLBACKEND"] =3D "module://emacscomintmime" + + from matplotlib import _api + from matplotlib.backend_bases import FigureManagerBase + from matplotlib.backends.backend_agg import FigureCanvasAgg + + class BackendModuleLoader(Loader): + def create_module(self, spec): + return None + def exec_module(self, module): + from io import BytesIO + from base64 import encodebytes + from json import dumps as to_json + from pathlib import Path + + class FigureCanvasEmacsComintMime(FigureCanvasAgg): + manager_class =3D _api.classproperty(lambda cls: Figu= reManagerEmacsComintMime) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + class FigureManagerEmacsComintMime(FigureManagerBase): + + def __init__(self, canvas, num): + super().__init__(canvas, num) + + def show(self): + self.canvas.figure.draw_without_rendering() + buf =3D BytesIO() + self.canvas.print_png(buf) + print_osc("image/png", encoding_workaround, buf.g= etvalue(), None) + + module.FigureCanvas =3D FigureCanvasEmacsComintMime + module.FigureManager =3D FigureManagerEmacsComintMime + + class BackendModuleFinder(MetaPathFinder): + def find_spec(self, fullname, path, target=3DNone): + if fullname =3D=3D 'emacscomintmime': + return ModuleSpec(fullname, BackendModuleLoader()) + else: + return None + + meta_path.append(BackendModuleFinder()) + print("`comint-mime' enabled for Matplotlib") =2D- 2.34.1 --=-=-= Content-Type: text/plain -- --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Apr 16 06:56:09 2023 Received: (at 62783) by debbugs.gnu.org; 16 Apr 2023 10:56:09 +0000 Received: from localhost ([127.0.0.1]:50660 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1po03F-0001De-B0 for submit@debbugs.gnu.org; Sun, 16 Apr 2023 06:56:09 -0400 Received: from mail-ej1-f49.google.com ([209.85.218.49]:46675) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1po03D-0001DP-GE for 62783@debbugs.gnu.org; Sun, 16 Apr 2023 06:56:07 -0400 Received: by mail-ej1-f49.google.com with SMTP id xi5so56914218ejb.13 for <62783@debbugs.gnu.org>; Sun, 16 Apr 2023 03:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681642561; x=1684234561; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=moKgz4m/q3Y90Do1noHIvO71oGPNKMRd0BIM6baTcOw=; b=EetaRj+BM6Lr4TKMbJBh9/mZLtGQ2zDLu2BHkGTiLiS7DwVWgbZ0VK3MiL4BpMSfmD iiByc+pMq7oCxn68iHOttOrNKO1R0EkmEGxwU5unByqoAlqJZs52ZQTgDjfbHLOJHRf8 2yOWFW5BnhQxVY2HSUZ+N1G6DRIe2apFl4SqxDUfyqnoMXtXlYqAO+LYxkXLYzganqtd BYHEFAGMx716RCFIaEZXKy0VuX0skBRrd3EQ5lFp3xvOdvCKwM6DT+ieLA2sCU6bkcJ0 hjynCVZuy20Uw+J159ZQIxdn2S0P2yLiH+rnYK0BOnBzqOd2YKu6kD66BXBqxQ6lcdWz tlUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681642561; x=1684234561; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=moKgz4m/q3Y90Do1noHIvO71oGPNKMRd0BIM6baTcOw=; b=TqXH/sT8ytKf5Xqi0obctT8EljY/PSGpej/XiizMGYpKkW1ZJXsKPI8cTsEC3xLbGZ F1MCPLKnBxwSS7jWfVJ6oU+TyAmT0qNxwKYKwFCxdKrAWJ6hRVPbZRetpCHOw44lC++Q YPsJBEAe1+MY5DV7foiftaHNhJ42fxfbSAitFWZc88oxbUrmNS+vn9b4lYpAIbDwcdm/ vn8y7C6DjVxKyCp81k6fI8kC16KDaRMb9xoENRKmS4KqVWYxq8xRW6jALEbnoh76sTMA XmawLAVUSSqVEcs5TCt9v5rhLtKF5BRCfOOWl796uPUvNUBvu8hS8DplawMn7W++YysK HB0g== X-Gm-Message-State: AAQBX9deryKCfdxZPMkwmzBOrrabV++BfYHS/SXzP73t33HZwlH0O+NN ln0RrZ2uAgAvCBwTt+Do5qVGuu8RNsY= X-Google-Smtp-Source: AKy350aeNUiQIfGJYkrDG/W2YyuO293u8M0z1kmNVZroZA2Ls9khwN2Bpo+BENmJ3UU/phj3ri2QOg== X-Received: by 2002:a17:907:1396:b0:94a:8b47:8c66 with SMTP id vs22-20020a170907139600b0094a8b478c66mr2907374ejb.30.1681642561195; Sun, 16 Apr 2023 03:56:01 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::aca8]) by smtp.gmail.com with ESMTPSA id hr33-20020a1709073fa100b0094f71c73d35sm50670ejc.145.2023.04.16.03.55.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Apr 2023 03:56:00 -0700 (PDT) From: Augusto Stoffel To: James Thomas Subject: Re: bug#62783: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter In-Reply-To: <871qkp1jdk.fsf@gmx.net> (James Thomas's message of "Wed, 12 Apr 2023 16:02:07 +0530") References: <873556t3db.fsf@outlook.com> <87fs95ob04.fsf@gmail.com> <871qkp1jdk.fsf@gmx.net> Date: Sun, 16 Apr 2023 12:55:59 +0200 Message-ID: <87y1ms5c5c.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62783 Cc: 62783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Wed, 12 Apr 2023 at 16:02, James Thomas wrote: > Augusto Stoffel wrote: > >> Thanks, I will have a look at this soon. > > Please prefer this slightly modified patch. It makes it possible for > users to switch backends at the beginning with matplotlib.use even if > comint-mime is enabled. Okay, I tested and it works for me, but I have a question: If I call just call the plot function I get e.g >>> plt.plot([1,2,1]) [] I still need to call plt.show() afterwards to see the image. This is better than nothing, but would be nice if the extra step wasn't necessary. Also, it seems I also need to call plt.close() manually, otherwise subsequent calls to plt.plot add to the figure instead of starting a new one. Do you know if the mechanics here can be refined? From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 01:18:14 2023 Received: (at 62783) by debbugs.gnu.org; 20 Apr 2023 05:18:14 +0000 Received: from localhost ([127.0.0.1]:36265 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppMgQ-0004lv-2r for submit@debbugs.gnu.org; Thu, 20 Apr 2023 01:18:14 -0400 Received: from mout.gmx.net ([212.227.17.22]:35617) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppMgK-0004le-QX for 62783@debbugs.gnu.org; Thu, 20 Apr 2023 01:18:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1681967882; i=jimjoe@gmx.net; bh=vepUq0CptuKhv9T6bhN44YfLKobVrdkDMMfZBa/R04M=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date; b=icv9G4w3bCnWS144bJXReYpuUHr6T1BCL9RbYDya1fwNbU9/cOLNfsqtcPLlWbWo0 SuwnNJRsVS+eGYndzGuAM0RicUsbQh/0/wgLyT+PPk46jBhOwTSy4OOLlmryjpRHAo U54ebame+THkBNK2f82HaLgdXPv3nedwvPjmHjFEFYAR5WLnIOQN2tlYL63U2lyOdr WbsVYZWAhlp5kBR7NlsBNLsWJVSNiu/4gPziKByXj1lGSnW+hzaPfAXZRVhfJvagW+ 1ChpwxMu4EdhJNpYK7batTN3HZrou2AYpgR4xNwDo3GqMNEV6jENoZpcrIc4G3z5eU yYUvvZZQ3oblQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from user-Inspiron-15-5518 ([59.92.161.79]) by mail.gmx.net (mrgmx105 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MmUHp-1qXX8S1dKr-00iS1D; Thu, 20 Apr 2023 07:18:02 +0200 From: James Thomas To: Augusto Stoffel Subject: Re: bug#62783: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter In-Reply-To: <87y1ms5c5c.fsf@gmail.com> (Augusto Stoffel's message of "Sun, 16 Apr 2023 12:55:59 +0200") References: <873556t3db.fsf@outlook.com> <87fs95ob04.fsf@gmail.com> <871qkp1jdk.fsf@gmx.net> <87y1ms5c5c.fsf@gmail.com> Date: Thu, 20 Apr 2023 10:47:58 +0530 Message-ID: <875y9rdtdl.fsf@gmx.net> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:rVhQgatmcZZrW+hK44+Dh3mCGxZbJQRjsXQGRHCySDk4qRhXZXh FpzUEh4Tzr1K/IAn1ezRbhkb+A0Xt7zzDN4sLOnKXNJ11AN5X2OLajXxkUWZynYbo619Dnd AR2QpiLRnv9WKt+EpGyIY1bmaq08pA7xwVhyKggUeSnRTWqtNSAARSrPx58GLjGZOEdwPFa PS7vpCysG6V4BXdT2/D+w== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:a5hqyyNSJXQ=;RATeQlCU57z/M/ZfGOZYwRtcnNx +BBUDlPorylUN8glpN+F4CqQy1tt2ztoIPeqTgzkXsVV2VN3c1LwoUWY3A3iIMWIN0/WjdhmQ b9+uP+h+BzSwRjb4G0l2tk0iAQtyIG99U6X5ej2dYn7SV6vn+c/QCgZcmx6+uF5xY9E6r8o2x QZrKDhaPSKYODnXPmXFEYx//2gWL7YYex3n9XBto2EQ1rDi2nq/HAp70PX0ixb2APUw2x/3ug jo0Ka92X0Zzn446C9b28EzpWMHMbI4QKXWvwvalf44osuPo+taGw6ZrGQIi6ROlMtlbG9pJ08 pczyLsA1ogCNbKAhOcjnvX8daxoH9tXbB05Xt14KSdRBIGy1WighUTOiXnEsUm7sn4G8qHASX v45jlN9qnXXbNyouSCPfRc81gjY5rbzSb2DYL0LWy//rB5EDX2TTNk8MI68M+HKrxOA64Nce1 tLMLu6YCvCG+cLzCi7SSfJ1YzexDR9ryZQHrwsm6ZjG3OjGN+VsxnG+NJqu02Iy1joapEiIHF S4OlMJpy9eD9372aTkxnsrLWYoldG0fmLIb/Wc0NCk1WcaM5U+CLudI8EpTxCEOFBlGR6c5Uk 7RVQFtxqh4ppzfUcFCjKujSiWx1NJGmBVfOZzEGBeAmzBV8HBCJcMtmdyr7FXOYJdZElLK0nN r7ZUw6q5S0zJbY/oEaxc2qkLFlTxAwEWJ2aqWPT4hUS1DjouZmcGJkBMuQSvBgnmGzQY9mZMe Q4NDsPBb7c0I0IxnNIHcEphXz/36qS7UFAPUHiGdgPkVtRJ3ur1OaXCeVtjnLB7M0UJXvl2oD COqEoGJoSwHLYQuAPYXmXGKvNb6rRLv2f0r1qluzAcWntJMerW4WW24FlZTONtKfuLzGEMXza EDM7Zu9OLZ7roLuwmPKxbcruTR3Lo5qHlHFdJToNjZAEz0x2rujexWq4DGwUeOzB7k7guSh3z YgkeRnycaf2xJPiQn98+PpJsZ74= Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 62783 Cc: 62783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Augusto Stoffel wrote: > Also, it seems I also need to call plt.close() manually, otherwise > subsequent calls to plt.plot add to the figure instead of starting a > new one. pyplot.show displays _all_ open 'figure's. If you want to display a particular figure, fig.show() can be used. Also, pyplot.close can close figures selectively. Subsequent calls of pyplot.plot add to the 'current' figure which it keeps track of (and that can be switched). > >>> plt.plot([1,2,1]) > [] > > I still need to call plt.show() afterwards to see the image. This is > better than nothing, but would be nice if the extra step wasn't > necessary. I guess it would be straightforward to implement a pretty-printer for the Line2D object that would call its figure.show, but for the sake of completeness this would have to be done also for every kind of element in a figure other than lines - like axes or legends. Also, personally, I would find it annoying if every change I make to a figure would result in a redisplay. Sometimes I want to accumulate changes before showing the result. (I'm rather new to all this myself and the above is only to the best of my knowledge) =2D- From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:43:18 2023 Received: (at 62783) by debbugs.gnu.org; 21 Apr 2023 12:43:18 +0000 Received: from localhost ([127.0.0.1]:39577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppq6g-0002Hd-IZ for submit@debbugs.gnu.org; Fri, 21 Apr 2023 08:43:18 -0400 Received: from mail-ej1-f47.google.com ([209.85.218.47]:55416) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppq6e-0002HQ-Px for 62783@debbugs.gnu.org; Fri, 21 Apr 2023 08:43:17 -0400 Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-95316faa3a8so267233966b.2 for <62783@debbugs.gnu.org>; Fri, 21 Apr 2023 05:43:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682080990; x=1684672990; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=WSS15WVl02yh6V9gdwiDIhN9wHluRa2qJmzMS/wZ3o8=; b=olBDKX8weZz13vj0aC0VbuG1RKD8QiQzfnDigECLy9Mg9iTbJn/oyMBA78LDx3z5Je G+bhIH3iFpYFRY3q3ztGPoIEjFLDCzBFmZMXKs+Zumr19V1XjCh2wG6ce5r5zAHGu2jt D5udL1mmY4dfc6RCkyZRz3NJwhSNoEKjhymXrn/VXtqhzJLMyYheC62vTFabnzAG5mgJ Xh+bG08rhqCKPvBR7ngsl7cx18jLJkXO9NNm8G7Db+l6vUlLTZZm57kWpfh50PGe+s1M kV1LB3qqQaIQGbSyhQyDA4Wibg8qiYE209gTAU+vQlyaReQuCM2Ew8BgDBvzIUUMf8eS eL/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682080990; x=1684672990; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WSS15WVl02yh6V9gdwiDIhN9wHluRa2qJmzMS/wZ3o8=; b=Z1rpHd++LKbvgmUPr0sdjo+4pfXBwJMW1CFG/b12nzKcqgDtStpAIFcKYhPF9T+tBD lYoClwRwrc1SlZ4kcwgzXZUgYvaJXOJsnPKwPCdMf3IMDzHru3zVEJ7MPLrtMgoasIRn Bz0WFSwZ2BqINDIvLYljPKYPy5q92cBZoXHgbHrVErndK8dmtbSb4lg3Mz2K9nFfbNNl f3piVMcbyYMn4SFGV2KwNYbgDF0llwMacAq6rNdWrriPRba3vVTkLlhUbqR8jyXxa83v lh8dSz/XSclpmFwOocMSCuI+q/IVNEA8vMG0QSU05hKbzqgtKj8ik3ayZobXpb1xP/39 x2/g== X-Gm-Message-State: AAQBX9ecoWhiseqpG/L3N6wIWKuLK2sQtSmu/2WgUmtIXfvrpfApvflr gXCVUgBDIVG2gArEq3jKNN0Gv7RoJe4= X-Google-Smtp-Source: AKy350asiOPw/OrSx8WXKLhpOt5C8X5RQuysghwlLyh05OEJT5b6ltxbMbJvNejmBJorD53PamJKSQ== X-Received: by 2002:a17:907:2ceb:b0:94f:2c22:a7a2 with SMTP id hz11-20020a1709072ceb00b0094f2c22a7a2mr2136890ejc.68.1682080990411; Fri, 21 Apr 2023 05:43:10 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::aca8]) by smtp.gmail.com with ESMTPSA id o9-20020a1709064f8900b0094f3b18044bsm1989709eju.218.2023.04.21.05.43.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 05:43:09 -0700 (PDT) From: Augusto Stoffel To: James Thomas Subject: Re: bug#62783: [PATCH] comint-mime: Add Matplotlib support in the standard interpreter In-Reply-To: <875y9rdtdl.fsf@gmx.net> (James Thomas's message of "Thu, 20 Apr 2023 10:47:58 +0530") References: <873556t3db.fsf@outlook.com> <87fs95ob04.fsf@gmail.com> <871qkp1jdk.fsf@gmx.net> <87y1ms5c5c.fsf@gmail.com> <875y9rdtdl.fsf@gmx.net> Date: Fri, 21 Apr 2023 14:43:08 +0200 Message-ID: <87v8hpqucj.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 62783 Cc: 62783@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) All right, thanks for the info. I've installed your patch (with some refactoring in a subsequent commit). Let me know if all is good. I haven't made a new release yet, but will do so soon. On Thu, 20 Apr 2023 at 10:47, James Thomas wrote: > Also, personally, I would find it annoying if every change I make to a > figure would result in a redisplay. Sometimes I want to accumulate > changes before showing the result. > > (I'm rather new to all this myself and the above is only to the best of > my knowledge) Okay. It seems to me that IPython's approach makes sense, whatever the exact rules are. But we can always refine things later. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:47:48 2023 Received: (at control) by debbugs.gnu.org; 21 Apr 2023 12:47:48 +0000 Received: from localhost ([127.0.0.1]:39582 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppqB2-0002Pe-6G for submit@debbugs.gnu.org; Fri, 21 Apr 2023 08:47:48 -0400 Received: from mail-ed1-f48.google.com ([209.85.208.48]:62688) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ppqB0-0002Or-QB for control@debbugs.gnu.org; Fri, 21 Apr 2023 08:47:47 -0400 Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-506bdf29712so11928403a12.0 for ; Fri, 21 Apr 2023 05:47:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682081261; x=1684673261; h=subject:from:to:message-id:date:from:to:cc:subject:date:message-id :reply-to; bh=lpOjnaFrJVeNCdBtaZPCi7MMuINF/sBy58+ihgsjcYc=; b=AijlKiPcMaMliCk8JHQXe0Jxw3XudUBje7VR+USJd3wQvbhrZkXodT/M1+Wqz4OMBh 2fGNCDvuD3xvF4oSgDwNUS25s3z8k+akWqFnBZDOmJN0TaTKKgiysOv5eWTXqu5QxiYL 9uwSM9LfSFHSTv48NyfTlHTMwoEzxIDH2Song3jefrlMEurAT4V9qxbfzBpsgJKz5B1i cGbbLpPzPeDGDHXHZLVjJYOUwhrph6rCH43G/fc/KEKVV1VAvKQePdIIZ5M70+d/ReG3 hjBpFC3LCF9CAhDWD2R3PfC4ppS7T8qfGxJPZ9wUxsx0jBSgYXingJ5kkOlcqTrAlJXE sHYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682081261; x=1684673261; h=subject:from:to:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lpOjnaFrJVeNCdBtaZPCi7MMuINF/sBy58+ihgsjcYc=; b=if6e96tZNd1dtFviLl9nU1/4jPswm7QMEFzX+KM/tfWkURFt5SEnlvaYjoC7bbgU69 Jkr9a2MSdr/YlJJz0Vyy6wHAgHxM0BbTBdcJZ1vkD6HBMrem8ISlAgYXIembOqZfeUfO uz2np0pIvKJ5QrV7VpdWGrJDmBc1Vo1e8W5J9zO062V1g8QepJpTeqMPoRYcKfHu/1Ia fEtzXib8fbyDNjildmBVRtcmz+xCNr8nXKCyhkLDYFU/4afTaa7z5NgJEu/ESBSoaFL2 YLyvaGPFqnnX+k2iImNoy2jYRmkPN4PR4g5w99wsSYGEmpk+4vAPRvQygPqTQmKI7SAV 8Iuw== X-Gm-Message-State: AAQBX9dTrzPNShwq6VzvaEtFoQwuGE7wdTeLKcjZHvQxfrR4LxI5WAk8 icGiK/FGI4GkWLv3a+JQDaPddRG3uLU= X-Google-Smtp-Source: AKy350ZUQOqORUT+d94jzmby3HCWO4/kzGyWvmgrMcCo54p/zq8SG3b1uIhuLs5dZM8KRspJl1m4Ng== X-Received: by 2002:a17:906:c28a:b0:932:f88c:c2ff with SMTP id r10-20020a170906c28a00b00932f88cc2ffmr2140850ejz.34.1682081260633; Fri, 21 Apr 2023 05:47:40 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::aca8]) by smtp.gmail.com with ESMTPSA id vp3-20020a170907a48300b0094f14286f86sm2003917ejc.48.2023.04.21.05.47.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Apr 2023 05:47:40 -0700 (PDT) Date: Fri, 21 Apr 2023 14:47:38 +0200 Message-Id: <87ttx9qu51.fsf@gmail.com> To: control@debbugs.gnu.org From: Augusto Stoffel Subject: control message for bug #62783 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 62783 29.1 quit From unknown Tue Jun 17 20:13:40 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 20 May 2023 11:24:12 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator