From unknown Sat Sep 06 02:33:03 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#49822 <49822@debbugs.gnu.org> To: bug#49822 <49822@debbugs.gnu.org> Subject: Status: 28.0.50; python-shell-send functions show no output Reply-To: bug#49822 <49822@debbugs.gnu.org> Date: Sat, 06 Sep 2025 09:33:03 +0000 retitle 49822 28.0.50; python-shell-send functions show no output reassign 49822 emacs submitter 49822 dalanicolai@gmail.com severity 49822 normal tag 49822 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 02 10:32:35 2021 Received: (at submit) by debbugs.gnu.org; 2 Aug 2021 14:32:35 +0000 Received: from localhost ([127.0.0.1]:38875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAYza-0002tl-Pl for submit@debbugs.gnu.org; Mon, 02 Aug 2021 10:32:35 -0400 Received: from lists.gnu.org ([209.51.188.17]:51568) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAYzY-0002te-Rd for submit@debbugs.gnu.org; Mon, 02 Aug 2021 10:32:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50362) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mAYzY-00057X-K8 for bug-gnu-emacs@gnu.org; Mon, 02 Aug 2021 10:32:32 -0400 Received: from mail-ej1-x62e.google.com ([2a00:1450:4864:20::62e]:46639) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mAYzV-0006ox-7J for bug-gnu-emacs@gnu.org; Mon, 02 Aug 2021 10:32:32 -0400 Received: by mail-ej1-x62e.google.com with SMTP id gs8so31147471ejc.13 for ; Mon, 02 Aug 2021 07:32:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:date:user-agent:mime-version :content-transfer-encoding; bh=b+wOohz/c27yQPm1jh6fmsHnwjzKgjZI8XBAFi3AJeM=; b=DbwfjjqzH2EWSuXAsooGcfK/X09B1Q24xtisoIEaA0tIvrUkNGw/j8ySAThk6w1kdb Pcb7/IxKejmr11RbOWvsaY1+zo/fbnND6tLUUUDy3iYJpqZmPCxOrvTMJWc3jXS2o+Yo PjmNIGlTdYqcLYH9oV7+Q3a3FIl2I/T6vd8y0y5ePEoqzG2WTQ2t1ovgos0o0JoQpxhe l2VaYksJr7ZNm0+TVzmHhjQayb00TX1KPmVTiVm6bZhiE/MuWAlUtNyAQLglw3O6cvK6 Pf6QrGKe2jUDpFyPkrqbMQESdd1QWK9c4hVUscq58119O0hs4hthp78WfNmDKnmAjhVw sq+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:user-agent :mime-version:content-transfer-encoding; bh=b+wOohz/c27yQPm1jh6fmsHnwjzKgjZI8XBAFi3AJeM=; b=OLMwfLRXXP2vr7Fz8Z2m9ujPD8VLDo/ePrakMDYOEWe6YVMzULSDgEYTJkPBbjAJ3y 9VvPaQD3vOImGw+za52q9oe2vc+BX/wiQl0x5CO8wytduvnMp4HMX1GBe4flF285Ipnq 5YY/c7PhFTNx0FJsYmBGtk4c6tqrdDELNbH135uU5LyixCfdbAgXYH8U03g+NeHW3qLL rzuspJFfieLhwvuLE3Qa4Sgn6V9o6LmuOBVGT9mvYiXWA2NmjPM/IqL4TJZfmCL4PwCS vWXZZ3tolWPrneecv1riZFCbBlnxDGBLMDHkKnwVKN8hfuPuD3SvZ5nJhTfZp86BA78G pJtA== X-Gm-Message-State: AOAM533GHmjD4qWN1Jth9NwXhqNVwqAGj5GrnALdTJN1gXl/pxD1CnOL 5nRxQk5uKeFfYosfKmjCoTSjN+dGNxn3uw== X-Google-Smtp-Source: ABdhPJwZOLv9ZXwd5SuJVeidn//elaqGLlTpUhShU4wt0U55TY+bG+BrSifGdxS0Ztmw3PqyCncVgQ== X-Received: by 2002:a17:906:d04b:: with SMTP id bo11mr15816419ejb.513.1627914746706; Mon, 02 Aug 2021 07:32:26 -0700 (PDT) Received: from [192.168.3.11] (86-90-107-231.fixed.kpn.net. [86.90.107.231]) by smtp.gmail.com with ESMTPSA id g10sm4665850ejj.44.2021.08.02.07.32.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Aug 2021 07:32:26 -0700 (PDT) Message-ID: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> Subject: 28.0.50; python-shell-send functions show no output From: dalanicolai@gmail.com To: bug-gnu-emacs@gnu.org Date: Mon, 02 Aug 2021 16:32:25 +0200 Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.40.3 (3.40.3-1.fc34) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::62e; envelope-from=dalanicolai@gmail.com; helo=mail-ej1-x62e.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) 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_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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.3 (--) M-x run-python type e.g.: 5+5 then send using `C-c C-c` The comint shows no output. Same for ipython comint. This is due to the 'coding cookie' in the `python-shell-send-...` commands (more exactly in `python-shell-buffer-substring`). When using e.g. comint-simple-send, things work correctly. It would be great if sending the 'coding cookie' (and the addtional line sent for the case of a trace) could be made optional. Here is some package where @fernandomayer fixes it for ipython. (But it is equally problematic for default python) This bug has probably been mentioned somewhere but I could not quickly find any mention of it on in the bug archive or even on google. So at least it has been reported now. In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.25, cairo version 1.16.0)  of 2021-02-18 built on daniel-fedora Repository revision: 185121da6978553d538d37d6d0e67dc52e13311f Repository branch: feature/native-comp Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Fedora 34 (Workstation Edition) Configured using:  'configure --with-nativecomp' Configured features: CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings:   value of $LANG: en_US.UTF-8   value of $XMODIFIERS: @im=none   locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect:   tooltip-mode: t   global-eldoc-mode: t   eldoc-mode: t   electric-indent-mode: t   mouse-wheel-mode: t   tool-bar-mode: t   menu-bar-mode: t   file-name-shadow-mode: t   global-font-lock-mode: t   font-lock-mode: t   blink-cursor-mode: t   auto-composition-mode: t   auto-encryption-mode: t   auto-compression-mode: t   line-number-mode: t   transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml easymenu mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core eieio-loaddefs password-cache json map cl-macs text-property-search time-date subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils thingatpt cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify ediff- hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face pcase macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print- readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x- toolkit x multi-tty make-network-process nativecomp emacs) Memory information: ((conses 16 70942 10482)  (symbols 48 6768 0)  (strings 32 19439 1610)  (string-bytes 1 667085)  (vectors 16 12671)  (vector-slots 8 278285 13081)  (floats 8 24 53)  (intervals 56 203 0)  (buffers 992 11)) From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 02 11:11:38 2021 Received: (at 49822) by debbugs.gnu.org; 2 Aug 2021 15:11:38 +0000 Received: from localhost ([127.0.0.1]:38947 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAZbO-0003wH-Jp for submit@debbugs.gnu.org; Mon, 02 Aug 2021 11:11:38 -0400 Received: from mail-vs1-f41.google.com ([209.85.217.41]:39582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAZbN-0003w4-BY for 49822@debbugs.gnu.org; Mon, 02 Aug 2021 11:11:37 -0400 Received: by mail-vs1-f41.google.com with SMTP id bg4so9687796vsb.6 for <49822@debbugs.gnu.org>; Mon, 02 Aug 2021 08:11:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=UTQ0QDpWwbk7acrKWlJWTv0wH/8XFya4Jbcml5JVST8=; b=hc+6R3tlGqptydMI4O5z9LRCi0bE2pfxSO8Rt1Lt/oTeElDB8OMtNEQYRJ+Jw0Ud27 cwB8AGkaPOi2m0r89rfLkum2Cmc6Cs5WJzBQXFWRHjGT7SycVxareZOB+8mcrssO8+me HcOzXFitwzb+ERyo3dkP/kK1WNLCGSmva6n9bQraTqm8s4aFnGIxIEXbesxglJIn+rTF WxjmP+eMCDltRtCnSuWitHvyFnpwC9KWxdFXYHs8Ism5VNPggPIksTNib9PSIxyPsHld ff0tI+moiJXkCDoGXl+Lz/+CJmOAvsLKA7ZkWdxgF62Klf5TWiNmNGmbZBABjr/jqJMX pB2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=UTQ0QDpWwbk7acrKWlJWTv0wH/8XFya4Jbcml5JVST8=; b=TiK1tmrB4dcbUTHwMy1qikoiFBy46XguS3WMsYo4rqUIt/6EeQV9G1W93vh/ieAPCL aI5xjqE4k0VKYodHW4M8n/+p0tC7zgYvXpoKrqnwbuk0T6QyA2CNcX+Q1D5eLkTFZ1d3 aUIDwrXuXVrYtBozb85xhT9E4W3/6QofAgC/1myrFSmZDIS74MS/1cklXCFNJdMt+3Ul g83+hIM8UhuSgW7aXd0S28ObieAUnZkgLGvxMfkDP61WEE6EpQ7Je+rzGxF5AB6mRql4 ekL7FTEN4NTJ9Tc8uHrimL2LjG/tIGqrHnCJvhOsw+/0NsgcL4Q7N0ZdE8ujzTViHg3I GbTQ== X-Gm-Message-State: AOAM532EAflAXTqBDN3Y3VNcbXUrEsg0VuiwICwQS0Z7clCQmfYRR8j/ ngAyMtNWErZf/oDIUmrUmD9pvG/rUOCCoU8hPvlPpLj+HZVJbQ== X-Google-Smtp-Source: ABdhPJzHI1seGcNcMk5haOM34DeXmGl9E9tAaepDwzblIEcXuQt39r9+ntu6FInkJ/Nlj3xPYylGVcOOkUevMFEOFZ4= X-Received: by 2002:a67:fa16:: with SMTP id i22mr10284522vsq.49.1627917091747; Mon, 02 Aug 2021 08:11:31 -0700 (PDT) MIME-Version: 1.0 From: dalanicolai Date: Mon, 2 Aug 2021 17:11:20 +0200 Message-ID: Subject: forgot link (and mentioned wrong user) To: 49822@debbugs.gnu.org Content-Type: multipart/alternative; boundary="000000000000fa3a6e05c894fb8f" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 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 (-) --000000000000fa3a6e05c894fb8f Content-Type: text/plain; charset="UTF-8" So the link should have been this one https://github.com/jackkamm/ipython-shell-send-el and @fernandomayer should have been @jackkamm --000000000000fa3a6e05c894fb8f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
So the link should have been this one
<= a href=3D"https://github.com/jackkamm/ipython-shell-send-el">https://github= .com/jackkamm/ipython-shell-send-el
and @fernandomayer should= have been=C2=A0@jackkamm
--000000000000fa3a6e05c894fb8f-- From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 02 11:17:15 2021 Received: (at 49822) by debbugs.gnu.org; 2 Aug 2021 15:17:15 +0000 Received: from localhost ([127.0.0.1]:38952 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAZgp-00045k-8Y for submit@debbugs.gnu.org; Mon, 02 Aug 2021 11:17:15 -0400 Received: from mx.sdf.org ([205.166.94.24]:60899) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mAZgn-00045a-Dj for 49822@debbugs.gnu.org; Mon, 02 Aug 2021 11:17:14 -0400 Received: from mab (ma.sdf.org [205.166.94.33]) by mx.sdf.org (8.15.2/8.14.5) with ESMTPS id 172FHBne017766 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits) verified NO); Mon, 2 Aug 2021 15:17:11 GMT From: Andrea Corallo To: dalanicolai@gmail.com Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> Date: Mon, 02 Aug 2021 15:17:11 +0000 In-Reply-To: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> (dalanicolai@gmail.com's message of "Mon, 02 Aug 2021 16:32:25 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@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 (-) dalanicolai@gmail.com writes: > M-x run-python > type e.g.: 5+5 > then send using `C-c C-c` > > The comint shows no output. Same for ipython comint. > This is due to the 'coding cookie' in the `python-shell-send-...` > commands (more exactly in `python-shell-buffer-substring`). > > When using e.g. comint-simple-send, things work correctly. > It would be great if sending the 'coding cookie' (and the addtional > line > sent for the case of a trace) could be made optional. > > Here is some package where @fernandomayer fixes it for ipython. > (But it is equally problematic for default python) > > This bug has probably been mentioned somewhere but I could not quickly > find any mention of it on in the bug archive or even on google. > So at least it has been reported now. > > > > In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version > 3.24.25, cairo version 1.16.0) > =C2=A0of 2021-02-18 built on daniel-fedora > Repository revision: 185121da6978553d538d37d6d0e67dc52e13311f > Repository branch: feature/native-comp Hi, just to mention that feature/native-comp does not exists anymore as a branch, one should point to master as native-comp was merged into it. 185121da6 is a 6 months old commit. Regards Andrea From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 04 03:19:05 2021 Received: (at 49822) by debbugs.gnu.org; 4 Aug 2021 07:19:05 +0000 Received: from localhost ([127.0.0.1]:42484 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBBBB-0002uf-KF for submit@debbugs.gnu.org; Wed, 04 Aug 2021 03:19:05 -0400 Received: from quimby.gnus.org ([95.216.78.240]:37046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBBBA-0002uB-91 for 49822@debbugs.gnu.org; Wed, 04 Aug 2021 03:19:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=+WAr5j6bJQHBz82qYc6nlP/TbnWKZ4I2xG7e+PK+V1k=; b=J9IXIrxxw3tarqfR6pQP4inIez 4F5D7XNrxTfKu/QE9Q2hA4tIyw3Lh6IIhYR8GFZ6sz06wclzkwkGLRc3RiWxoJdGM+XwCTYhEIpjD mD8nj4iH2wxl2bHXYn9gJVUhZUNoSGxs76PYYVpnUgS1c09LLEMTJy5xNplhytOzZTpg=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBBB1-0004sz-S7; Wed, 04 Aug 2021 09:18:58 +0200 From: Lars Ingebrigtsen To: dalanicolai@gmail.com Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> Date: Wed, 04 Aug 2021 09:18:55 +0200 In-Reply-To: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> (dalanicolai@gmail.com's message of "Mon, 02 Aug 2021 16:32:25 +0200") Message-ID: <87r1f9fzj4.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: dalanicolai@gmail.com writes: > M-x run-python > type e.g.: 5+5 > then send using `C-c C-c` > > The comint shows no output. Same for ipython comint. I'm unable to reproduce this on the current trunk -- I seem to recall this was fixed a few months ago. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@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: -3.3 (---) dalanicolai@gmail.com writes: > M-x run-python > type e.g.: 5+5 > then send using `C-c C-c` > > The comint shows no output. Same for ipython comint. I'm unable to reproduce this on the current trunk -- I seem to recall this was fixed a few months ago. [...] > In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version > 3.24.25, cairo version 1.16.0) > =C2=A0of 2021-02-18 built on daniel-fedora > Repository revision: 185121da6978553d538d37d6d0e67dc52e13311f > Repository branch: feature/native-comp As Andrea said -- this branch no longer exists (it's been merged into the trunk), which might explain why your Emacs is half a year behind. --=20 (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Aug 04 03:19:22 2021 Received: (at control) by debbugs.gnu.org; 4 Aug 2021 07:19:22 +0000 Received: from localhost ([127.0.0.1]:42487 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBBBH-0002v0-St for submit@debbugs.gnu.org; Wed, 04 Aug 2021 03:19:22 -0400 Received: from quimby.gnus.org ([95.216.78.240]:37062) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBBBF-0002uY-TF for control@debbugs.gnu.org; Wed, 04 Aug 2021 03:19:10 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=9bCCTyRYHkm/Q2RkgqYKQEcec7P5fpQ3zJzaCYp6xWI=; b=iE6d/a4nJajsFkR2c0bGAUjFwA ljj32GDk+e60qWSw9TAWuzQdzFcFRMnssj0gOAV3K4zr8UcaRICDUF6VZu8zBwOMWa6hw7q/dnpgb Ti1CatDbzDEaEszomdzUrMHCk0AQ2nmTx5wjAozdyZIA5qjYR4B0SbBNB0bMvbWPMXRg=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mBBB8-0004tK-8a for control@debbugs.gnu.org; Wed, 04 Aug 2021 09:19:04 +0200 Date: Wed, 04 Aug 2021 09:19:01 +0200 Message-Id: <87pmutfziy.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #49822 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 49822 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) 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 49822 28.1 quit From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 05 06:03:23 2021 Received: (at 49822) by debbugs.gnu.org; 5 Aug 2021 10:03:23 +0000 Received: from localhost ([127.0.0.1]:45951 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBaDj-0004gH-6K for submit@debbugs.gnu.org; Thu, 05 Aug 2021 06:03:23 -0400 Received: from mail-vs1-f50.google.com ([209.85.217.50]:33420) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mBaDh-0004fy-3L for 49822@debbugs.gnu.org; Thu, 05 Aug 2021 06:03:21 -0400 Received: by mail-vs1-f50.google.com with SMTP id j19so2752559vso.0 for <49822@debbugs.gnu.org>; Thu, 05 Aug 2021 03:03:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5DUZF3smAfFUrsG9qRba9SKw0/MjciHhy9cUArAdgfA=; b=OxdIFGs43ho4W+MswNS64DmHzFUxsqYlvbTJefG4GVMjkJF6937Ak2zcxFrBPIDxl+ H0qBvgfDB9nSU3GUVSOx+ZHvvWy1qNzpCSkPdV+k1GqvlB17w0JauggpgMja110OJTFk 7VfACGrEPg85x6EfPc585y7Ef3YDsogsGRwxyp31GQpipjHa48L/3B66Nv9RUWpHjCh7 3UZ5ifw7+mfcsgBC0NLkC9q8FDMLeWG7qC405eaw3cNzWQeBc0dBTuQ+MP9fDY2tsPEj TKddHNUpUMtxF3O/Cf8Ke+huZSQmi0JkfCLb93W/7f4kWUsMdsixR94G81dQnZ5QhW3O lFMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5DUZF3smAfFUrsG9qRba9SKw0/MjciHhy9cUArAdgfA=; b=N6fpPP4Z0D71MrKwRrj6LvHzxkXO7XVVqnhrMSgn6pDTZGFsBRdGPAG6jmLP8/Z+4d b+3MuZV+P9N9gt92I2qIiHiPq9Py/bRAksfTcVDzuTs5vRR/Bnqih0XWEg8loFu/+2cq qKUXEe8FVDmN4UrHWgymi8U9t/SB0kp++7wsKv3lmhVnco7g2l2O4lElAb6AEERk6erq f46ZY/F9g03+UXuJASMFbTTsuKGq4PR13Pd9hW6uwWTFj9eqdf8OON5nCImnWb92Q32O l1UOXFmjVGbHme0W3fU90kP1/eSwSGq1qQFhFOFVcIE9XUlFKcmSe51gY86hQFiw4GKa FE7w== X-Gm-Message-State: AOAM530l+Jm/QkL7/5R30dBoMtLB8rMOBm8SE5oQZGIFHUY1JvCeSqs7 N9w5usHDVX2tFmtB9m7CGWkHCJGS+tHZPJcBz48= X-Google-Smtp-Source: ABdhPJwNmCHMGvJPjQrn0Iu+4wOi0NbsyRapf9Fha2N5S9+3Jjb24nAmGVm/oM6eVo5IdY6llAEY5ycUY5UZYLzLRtQ= X-Received: by 2002:a67:fa16:: with SMTP id i22mr3684181vsq.49.1628157794285; Thu, 05 Aug 2021 03:03:14 -0700 (PDT) MIME-Version: 1.0 References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> In-Reply-To: <87r1f9fzj4.fsf@gnus.org> From: dalanicolai Date: Thu, 5 Aug 2021 12:03:02 +0200 Message-ID: Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output To: Lars Ingebrigtsen Content-Type: multipart/alternative; boundary="000000000000f77d8e05c8cd0639" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@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 (-) --000000000000f77d8e05c8cd0639 Content-Type: text/plain; charset="UTF-8" Okay, I have switched to the master branch now and rebuild emacs. So I find it works differently than I thought. As reported in my original bug-report, the comint still does not show the output when sending using `C-c C-c` but I see now that actually that is bound to `python-shell-send-buffer`. So now I notice that the only function that effects in the comint printing the output is `python-shell-send-statement`. Probably I was misled by the Spacemacs function `pyhton-shell-send-line` which uses `python-shell-send-region` and therefore when used the comint does not print the output. (And I was blindly assuming that `C-c C-c` was using shell send line/statement) Thanks for your replies! On Wed, 4 Aug 2021 at 09:18, Lars Ingebrigtsen wrote: > dalanicolai@gmail.com writes: > > > M-x run-python > > type e.g.: 5+5 > > then send using `C-c C-c` > > > > The comint shows no output. Same for ipython comint. > > I'm unable to reproduce this on the current trunk -- I seem to recall > this was fixed a few months ago. > > [...] > > > In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version > > 3.24.25, cairo version 1.16.0) > > of 2021-02-18 built on daniel-fedora > > Repository revision: 185121da6978553d538d37d6d0e67dc52e13311f > > Repository branch: feature/native-comp > > As Andrea said -- this branch no longer exists (it's been merged into > the trunk), which might explain why your Emacs is half a year behind. > > -- > (domestic pets only, the antidote for overdose, milk.) > bloggy blog: http://lars.ingebrigtsen.no > --000000000000f77d8e05c8cd0639 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Okay, I have switched to the master branch now and re= build emacs.

So I find it works differently th= an I thought. As reported in my original bug-report,
the comint s= till does not show the output when sending using `C-c C-c` but I see now
that actually that is bound to `python-shell-send-buffer`. So now I= notice that the only
function that effects in the comint printin= g the output is `python-shell-send-statement`.

Pro= bably I was misled by the Spacemacs function `pyhton-shell-send-line` which= uses
`python-shell-send-region` and therefore when used the= comint does not print the output.
(And I was blindly assuming th= at `C-c C-c` was using shell send line/statement)

= Thanks for your replies!


On Wed, 4 Aug 2021 at 09:1= 8, Lars Ingebrigtsen <larsi@gnus.org> wrote:
= dalanicolai@gmail.com writes:

> M-x run-python
> type e.g.: 5+5
> then send using `C-c C-c`
>
> The comint shows no output. Same for ipython comint.

I'm unable to reproduce this on the current trunk -- I seem to recall this was fixed a few months ago.

[...]

> In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.25, cairo version 1.16.0)
> =C2=A0of 2021-02-18 built on daniel-fedora
> Repository revision: 185121da6978553d538d37d6d0e67dc52e13311f
> Repository branch: feature/native-comp

As Andrea said -- this branch no longer exists (it's been merged into the trunk), which might explain why your Emacs is half a year behind.

--
(domestic pets only, the antidote for overdose, milk.)
=C2=A0 =C2=A0bloggy blog: http://lars.ingebrigtsen.no
--000000000000f77d8e05c8cd0639-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 12 10:57:59 2021 Received: (at 49822) by debbugs.gnu.org; 12 Aug 2021 14:57:59 +0000 Received: from localhost ([127.0.0.1]:39623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEC9b-0002Dx-Fs for submit@debbugs.gnu.org; Thu, 12 Aug 2021 10:57:59 -0400 Received: from mail-wr1-f52.google.com ([209.85.221.52]:36386) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEC9W-0002Dg-AB for 49822@debbugs.gnu.org; Thu, 12 Aug 2021 10:57:54 -0400 Received: by mail-wr1-f52.google.com with SMTP id b13so8761957wrs.3 for <49822@debbugs.gnu.org>; Thu, 12 Aug 2021 07:57:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=SOWk3DjOtmYP4g1d4iyIKcn9Q5WrTGpM2ejaS/coU7U=; b=H+B1ICpIA4dytkgtpUP8cUoIzR3o8WzJvu5Uzrxjp6VRuH2ziRMDRjaP7z0JCqavzh cAYRtyxZL/YeUYDv1AQ8D6qCLzy/QFvBlKdtDAve9264seVS9cMUuxyIy1nztZlS61oU SpwbNF7nsp674OysLaBvp2tWaFEjR6817m8DxO95iCUGUjgha+u9lN4w7mVdMVvj/Brv 6GLH4SFdyy5pF/iojAv6VX4z0FXDZPdR2j7sfJDkf6JmoEajJlJH7bXPsPSoRw5ZK+lG Q80SAGKA3s9UalDNSNkJt6WL7nFGlCD3Nut+44TA0wXtkYLxcNkzanrRpCn9T2+NAL9E SFng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=SOWk3DjOtmYP4g1d4iyIKcn9Q5WrTGpM2ejaS/coU7U=; b=CSpLKLLVU88UYz5h8y4iBZEh5FB1CQe0GXemRhdgEVXt5a1XccuyMR52D77PtEp8nd MjHeNVT4gkGm7hJH5HWfKiDhKNxL+vDx1HOeS3g3mWY/93Gq9RyVWLSAvrdWB46WmvBX iMsxdzsS5fm7tLI6VprIu6g6fiSMVFUbd7eRUt2pjxKImAheHhYoFR+lddhreq64pHuh KJ0MnhLDqHmj7NhAiMNy6M6XFuw8RuINbpoKXrTJWPzupE0AwrIe58iGSZVxB1NyaIy6 IMUgeN9J6r03dtlXdk9w1ACIL2Ayv84lPqPtmIySkiOhqh0HStTyhYTy+sPd7yE4h4UG jLEw== X-Gm-Message-State: AOAM532ybaFlSEJ9bln3Hop9xMc3mKhhUiQithit4GPCxLf+yByQOYIZ Uv3EsppbBpPqkmQt3UcXN0kPFHwC1wk= X-Google-Smtp-Source: ABdhPJw3wrGbNQHwWVrWWpKlBxqaJe/KhDq2k8Qp91lHLEeDnN2ExIilcraqJA3rs1lMFZubPeclAw== X-Received: by 2002:adf:eccb:: with SMTP id s11mr4714679wro.70.1628780264128; Thu, 12 Aug 2021 07:57:44 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::ae3f]) by smtp.gmail.com with ESMTPSA id i9sm4050517wre.36.2021.08.12.07.57.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Aug 2021 07:57:43 -0700 (PDT) From: Augusto Stoffel To: Lars Ingebrigtsen Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> Date: Thu, 12 Aug 2021 16:57:42 +0200 In-Reply-To: <87r1f9fzj4.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 04 Aug 2021 09:18:55 +0200") Message-ID: <87im0a6789.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, dalanicolai@gmail.com 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 (-) The specific test described above works for me too. But the display of a result in the Python shell is very brittle. For instance, if one evaluates a buffer with contents ``` (5 + 5) ``` then no result is shown. I guess it would also be desirable to have the behavior of https://github.com/jackkamm/ipython-shell-send-el work with the regular interpreter, so evaluating ``` x =3D 5 + 5 x ``` prints the result `10`. On Wed, 4 Aug 2021 at 09:18, Lars Ingebrigtsen wrote: > dalanicolai@gmail.com writes: > >> M-x run-python >> type e.g.: 5+5 >> then send using `C-c C-c` >> >> The comint shows no output. Same for ipython comint. > > I'm unable to reproduce this on the current trunk -- I seem to recall > this was fixed a few months ago. > > [...] > >> In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version >> 3.24.25, cairo version 1.16.0) >> =C2=A0of 2021-02-18 built on daniel-fedora >> Repository revision: 185121da6978553d538d37d6d0e67dc52e13311f >> Repository branch: feature/native-comp > > As Andrea said -- this branch no longer exists (it's been merged into > the trunk), which might explain why your Emacs is half a year behind. From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 13 07:10:43 2021 Received: (at 49822) by debbugs.gnu.org; 13 Aug 2021 11:10:43 +0000 Received: from localhost ([127.0.0.1]:40584 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEV5H-0001ix-2u for submit@debbugs.gnu.org; Fri, 13 Aug 2021 07:10:43 -0400 Received: from quimby.gnus.org ([95.216.78.240]:50076) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEV5F-0001ij-1z for 49822@debbugs.gnu.org; Fri, 13 Aug 2021 07:10:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=rB6hrSqvnel8WohBEH3Jw+xijt966x0vksaOCpcZBHI=; b=WUNcXjQ8CjhmVOq9PvD4WHf+x9 z0PMgJix/Se84Djy6krtKNv9vE6911tzceRhyPE4TNFxMinTqQqrv2cNoPkR8l9t9jDSoYhb7jqCl eoFvqhGynSqSb80LZ6Yq0ZvDspEK8gEiOxchnTfxwist0gRTl5RdbknbrG0879Y+4abE=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mEV55-0002lk-27; Fri, 13 Aug 2021 13:10:35 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> Date: Fri, 13 Aug 2021 13:10:29 +0200 In-Reply-To: <87im0a6789.fsf@gmail.com> (Augusto Stoffel's message of "Thu, 12 Aug 2021 16:57:42 +0200") Message-ID: <8735rdha6y.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > The specific test described above works for me too. But the display of > a result in the Python shell is very brittle. For instance, if one > evaluates a buffer with contents > > ``` > (5 > + 5) > ` [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, dalanicolai@gmail.com 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: -3.3 (---) Augusto Stoffel writes: > The specific test described above works for me too. But the display of > a result in the Python shell is very brittle. For instance, if one > evaluates a buffer with contents > > ``` > (5 > + 5) > ``` > > then no result is shown. Ah, right -- I can reproduce this, too. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sat Sep 06 02:33:03 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug No longer marked as fixed in versions 28.1 and reopened. Date: Fri, 13 Aug 2021 11:11:02 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug No longer marked as fixed in versions 28.1 and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Fri Aug 13 12:44:50 2021 Received: (at submit) by debbugs.gnu.org; 13 Aug 2021 16:44:50 +0000 Received: from localhost ([127.0.0.1]:43003 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEaIb-0007Zp-Dm for submit@debbugs.gnu.org; Fri, 13 Aug 2021 12:44:50 -0400 Received: from lists.gnu.org ([209.51.188.17]:48650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEaIW-0007Zf-Oa for submit@debbugs.gnu.org; Fri, 13 Aug 2021 12:44:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEaIW-0006mB-Ex for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 12:44:44 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:39885) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mEaIU-0004KT-Tg for bug-gnu-emacs@gnu.org; Fri, 13 Aug 2021 12:44:44 -0400 Received: from [192.168.178.63] ([94.134.177.57]) by mrelayeu.kundenserver.de (mreue009 [212.227.15.167]) with ESMTPSA (Nemesis) id 1M5wTr-1mC8WC11L9-007Vvi for ; Fri, 13 Aug 2021 18:44:39 +0200 Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output To: bug-gnu-emacs@gnu.org References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> From: =?UTF-8?Q?Andreas_R=c3=b6hler?= Message-ID: <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> Date: Fri, 13 Aug 2021 18:44:38 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <8735rdha6y.fsf@gnus.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:57fzf5ETEX0jPBSugsNyz3h6lla2JHomDw0ZDQ7h5O+pbkaQ+cK TB5Jv0V5LkYZB+xLm9EjyaAidXo8dRswjaIq15SQowycqhHEPT6Vb32eqGDRQ7c3TMHfdhJ 7/U7pC2nLaKX2Sg0xf2D91V78GFU2++aHq/23PXI4a4Pff6bYRh8TONlUXiic4tLtSyhoSu 010FvAhbAG1YlckrW78iw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:FxLAV74veC8=:xpgz4ksn8fwbIecWXhtJud 8zSSpFf2ta+DZX3Jjl7oTt+3nHizIsE7Yy+AXdp4xy/Ozsu1r5QJls2pCloBuwvBXLeTePrnR H4BRGD+mxWIFh9lyQNpRC64CNlHNDK99YsMAhr4wXSdhHn+LYp6SPAepArvq55EgdLxXGv42G vEFxeN/k/OXbjStrOQJgOy2VDUKW1m7NPdfgKRvf6OLI39mR4iStBlJ+o2+Au97tx5iSH7p40 s1u3jZ3a3tvGnw+7f0zKNJnVIauKGZfwAeuw616a+jYiIsw44mNBcHOEagChPU2pbFm+WB2G/ Ie9dvd3a9krJrEzXOvMsfDPyZBa0vMqEzmkWkZFIlIO0oCMPMgnzUQDuk8Tw6fccmkk+4DAGq x18jKFYLAb1Jisy9L8vfqVPFetwbCkjWCooAA8kuWMM/tPEmO7uwmsqlO948kYkA0luO4F5xx 9bcx1yw66dk7AFUJ6a0l9LlZ/rg74hdgP1KDTKsIL7LFZPesTBVgrez6l3jOc1z+AaUz8pCAa NX1Y5h9avteryf7+2pn5R6Kg6AsHDrEoXEsAfG/fVrf8sCu8RCIrqj1P9C2pdYcYi3dnx5fPX sPTb3E7Qqf7BaXW29TntxzkTD46f+MFc6+282EW1PNptMOOUOGbjKrWL1YT6yqAXKfhd09A/R 503gjU90TxQBp9N9ATK+8RbAerV//AgNK/odq3Y7IuPN5MlGjB5dDwr03wUDD7ake0sqhM7FO bOME/+ugckLw5YiQ3jBGRNlyyd8KHgI1BvzCUrq9GfeFKFUR5dAtlgZAzs5i57CqBNV4c1NYP kq88kDHBU6sonP4XMcBV9uwczeVzxK+GD+WO8FhSuJ8X0laFi+2f00pOUQFECXGWrWdqWY0mv DErMVe2upxs4N+VCruPg== Received-SPF: none client-ip=212.227.126.131; envelope-from=andreas.roehler@easy-emacs.de; helo=mout.kundenserver.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.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: -3.4 (---) On 13.08.21 13:10, Lars Ingebrigtsen wrote: > Augusto Stoffel writes: > >> The specific test described above works for me too. But the display of >> a result in the Python shell is very brittle. For instance, if one >> evaluates a buffer with contents >> >> ``` >> (5 >> + 5) >> ``` >> >> then no result is shown. > Ah, right -- I can reproduce this, too. > Hmm, a buffer is not an interactive shell. Putting a print() around should do it. Whereas in a shell >>> (4 +  5) ... 9 works as expected. From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 14 05:29:19 2021 Received: (at 49822) by debbugs.gnu.org; 14 Aug 2021 09:29:19 +0000 Received: from localhost ([127.0.0.1]:43558 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEpye-00071r-1Z for submit@debbugs.gnu.org; Sat, 14 Aug 2021 05:29:19 -0400 Received: from mail-wr1-f52.google.com ([209.85.221.52]:41716) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mEpyY-00071X-Uw for 49822@debbugs.gnu.org; Sat, 14 Aug 2021 05:29:15 -0400 Received: by mail-wr1-f52.google.com with SMTP id x10so10220464wrt.8 for <49822@debbugs.gnu.org>; Sat, 14 Aug 2021 02:29:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=YdGx55/iyhjoQTWIc4p2nkODUVZlXU3PkjMt+Hnihwo=; b=SsvzpgdQZdNAAY2UI7ic6xuLp7QauAJIDg108BQ2Rg335bbVAujh3Rzb7CRkyqkB0i Q9KRNB3mPTq15lL4qryyKWWYIwMPJ1WBIypwtOTz6RDeHMm8hDfwfmLqIYm6oZv65fTN KM+Lj4g14zB9obWmAB+MFcOtTCZf20MhMVNS3E/KcMiEQfv5Q/QL7XgQ6wjy/hIDps38 mbtEALA3XoiSLYMsC/nkAONamRzTf5zwH7dPSMYbY/QE9dG9JaJsoBFGOL9AbfK4ArEq nFPPLavWsq27ewZR79HWgywWAvSn5UcHXieNbIgZIxC1XLLuDF73uDl3i7HB6CpyYEXP JS1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=YdGx55/iyhjoQTWIc4p2nkODUVZlXU3PkjMt+Hnihwo=; b=TPzGO1e5sufGclen7dvOw9/jrJLOymyT8jLWaX7a/KAJwyww4oYN8CDun8I1+gKMM1 JLbt9EVom6RC3MMr1kpIR9hbfeAjSIJ/bNNR4BGZq0AAnip57zBPatxjrjGMvl2HCQOZ /iZT5YaGZ5aG54IIuoaJhJ/TuIbHxkRwtxifeT2rfrOhiLrBRaYJn9Mc5LRiDhaDbjM6 AYt/CPmhIkmjlcRGMGPWZw9R4aGo+fT3H2tZR6LJRYvW/SAd+rpYbfFGWaDLwrW0eZ5T hgUksV2Le0RAtDBPCU1K5oim604sDceDf2c2vmxKMYknczptZgnttlO//27t+O+FEaVr SYkw== X-Gm-Message-State: AOAM532Sy1LfQ4D6kvcJ7fzGfh01ssALANHRZxPFNhxpMFy0XcCldJyc CQWGYHOzn5KYcw1xGBaXCRpQ4fVQXJo= X-Google-Smtp-Source: ABdhPJx57p7Flu9957ROxZ2XHj6coacwqffQlmb5TUyEiiFBLnjB1tLCZpNTFcCI01TIhw32TMk4Dg== X-Received: by 2002:adf:8b5e:: with SMTP id v30mr5096597wra.193.1628933344847; Sat, 14 Aug 2021 02:29:04 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::ae3f]) by smtp.gmail.com with ESMTPSA id e6sm4141563wrx.87.2021.08.14.02.29.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Aug 2021 02:29:04 -0700 (PDT) From: Augusto Stoffel To: Andreas =?utf-8?Q?R=C3=B6hler?= Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> Date: Sat, 14 Aug 2021 11:29:03 +0200 In-Reply-To: <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> ("Andreas =?utf-8?Q?R=C3=B6hler=22's?= message of "Fri, 13 Aug 2021 18:44:38 +0200") Message-ID: <87h7fsnzmo.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@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 Fri, 13 Aug 2021 at 18:44, Andreas R=C3=B6hler wrote: > Hmm, a buffer is not an interactive shell. Putting a print() around > should do it. I'm not sure I get your point. Evaluating an expression should print the result, no? It's the P in REPL. From debbugs-submit-bounces@debbugs.gnu.org Sun Aug 15 02:42:03 2021 Received: (at 49822) by debbugs.gnu.org; 15 Aug 2021 06:42:03 +0000 Received: from localhost ([127.0.0.1]:45639 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mF9qJ-00028U-PZ for submit@debbugs.gnu.org; Sun, 15 Aug 2021 02:42:03 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:53541) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mF9qF-00028C-6U for 49822@debbugs.gnu.org; Sun, 15 Aug 2021 02:41:59 -0400 Received: from [192.168.178.63] ([94.134.177.35]) by mrelayeu.kundenserver.de (mreue107 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MHWvH-1mJmP70Gav-00Dabh; Sun, 15 Aug 2021 08:41:48 +0200 Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output To: Augusto Stoffel References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> From: =?UTF-8?Q?Andreas_R=c3=b6hler?= Message-ID: <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> Date: Sun, 15 Aug 2021 08:41:45 +0200 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: <87h7fsnzmo.fsf@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Provags-ID: V03:K1:uzQvX8k7mzl8HwtDzm7Roi6VBxLTCCRPE/IGJaoXXYjWjyypx7U twyZT83B5geuOSEjBXatdar0WBnUl45u3F8fCKfhtIq8HxX/5amLQjbQrWoEck2/O9TcwDF /gHCpFD+tzRC0qPMNHsYNQ0AnKBxUXH9GFMXKEhnFIgJcj5JalbO7dDXPDYm7ITjApJ17gT 3hBrzAyd05HHJcOBq8Hrg== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:0TmMUbPNmPc=:yTlstTMeTK+Ha6ONZ6L04d eXxgO0g6dqJogs5q8SwuXsbp2qbTW11Ocr3N9q18bCFyZlIcTf9kkBszPjHxjiXQRiuGz5CgR 2530KsbZRCbF7wqtuVDzt+QjTR04zdKmAQ7XnufZqU1jEdMd/oUCPgYYIwHxLiFqTPHWvUACY d4d72jCbkfPf1X1zDcgdGeZRXVI6MIQGEjqxOIVbx1m+qN6OoLuMkxOKTWgDuk2Q2MnBwrVFM 512B4oCcq3I7EmGaLKc5tDfZSeRfnglF1D7SUzF8qeaAz8/SnwAAKt3mU7TjDwyedY/xs7p5c N9ZyY8dSiUGCQZDgjembrnnWj8Rq1buy9mJdMx8yT5ucmss858zGNm5TRy2pfte52M33kV+j2 Gw4KnX38o6pi1TxeSYSitOkuscKIvQFjlbTYLuZy6/oWycPTr/GZv+/VcWxfISxyj4r3cAy3M plS1NCAY+Jimlj6VrJX/jLWwETOr/mAy4yWCJl21YUgvSNYPAJSQWZulkH/XGjoaZOqQA989f ZLuRs8+a3nDEsj7XS+wRAw66s5Nt0m8hX+qJNI3uNbdYle649AbRh/snVrhEiEIbKgROGMif9 KBvkkeUG8t+hHHf+0k+wcXXd4RGq5o2rg92TZY67HnQrbUrSy65upzaAi1QP9Vx2j6ZS9cscQ PCxiCEPEUOz+IfWz/GWgFEvuLhUoho78WNqI0DG9W7/7/Hu6ynWirizxBtYcHFT1L0hIEiw88 gaCE3g/kGO6Q4aD0uelhzCjYPuWMldCPbM2ISW+dmh95hq8uLiFTN4x/KrRLkkeWeevXndWll aLGKvtUwy3Z4FlIhRvYhUybHfv6I2HU6moGYh6y5/N8ziSZ3t2nSBjY75MXDdZNF4xfCfUcl9 wyzePdHIttSFQ+jWyMaw== X-Spam-Score: -0.1 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@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.1 (-) On 14.08.21 11:29, Augusto Stoffel wrote: > On Fri, 13 Aug 2021 at 18:44, Andreas Röhler wrote: > >> Hmm, a buffer is not an interactive shell. Putting a print() around >> should do it. > I'm not sure I get your point. Evaluating an expression should print > the result, no? It's the P in REPL. Python's interactive prompt offers a slightly different behavior than running code through a plain Python interpreter. I understand the code in a buffer as something which is executed as a program. If you run a program by a python interpreter, if it outputs something, that depends. From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 26 04:27:55 2021 Received: (at 49822) by debbugs.gnu.org; 26 Aug 2021 08:27:55 +0000 Received: from localhost ([127.0.0.1]:48370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJAjr-0005NR-3c for submit@debbugs.gnu.org; Thu, 26 Aug 2021 04:27:55 -0400 Received: from mail-wr1-f42.google.com ([209.85.221.42]:37465) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJAjp-0005ND-M5 for 49822@debbugs.gnu.org; Thu, 26 Aug 2021 04:27:54 -0400 Received: by mail-wr1-f42.google.com with SMTP id v10so3713729wrd.4 for <49822@debbugs.gnu.org>; Thu, 26 Aug 2021 01:27:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=2KaafmOtQojMSVjMLbHWogy/ViXzLNtjCAuGiPIIvFA=; b=PURk3QlQsiC2NGVZXwsLxuU7SCPx5ACagzeB8U8yclamdk9t+3eRpHrC/vhvlV0fnb 1NH4+gXdB+tYGL6EXxJx7RD+NPyUpIsO0UQvMxnWzFTBCUurOv0hoHGnjDO2LJcrG4nf q/oGO1m0WRP/QDEX8gMWX6tWWIyFFUKRDhdWGWGY+HR7A8Kqi/vLPXvbXIFyFaXsBrXW eRzZymJ/pU2azoJFdnD9AYLroIiRG7zrkmfJdvzugopvlQIfvwgGBpIjTFD/ZSuxIq8h /Pp56wB+mFbSuYq1igUZRwRkWMaWJ2GBaegWB9bWgZBRqwPNHuJg3usmBSH+pRbeKsdq Hy7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=2KaafmOtQojMSVjMLbHWogy/ViXzLNtjCAuGiPIIvFA=; b=LAyAVsjSEEWDuyWidZpVx3jIutz7KY2uicNYTiJXBu3GmQy6iB90XhiuM1oWgLptx7 2X63mzV/4Lh47c8Lp8dd5/xTPnrgHTGs+ClLOZ+PN9pt/cUWj21PNTKFP4mXX1UGAX2b sXQ6T48B1vWy3MagxFD4z0PKSE4VCiIWHeMjM3lkleHYuUXJkfYDuxphkKNePsYOOYMT 9QpivUjuq6t0Ylc2lP3IYzwluTi79dUP7xfSIF+pmZnQGplGRmuyvecE0Are7DzvL3An CgE08EMh6wPAGdlxcWmq1FA7G8GMyHiFDGKTNPSpeeC5QFxBGxrzzjv0n6/7SpGQfz2b TE7g== X-Gm-Message-State: AOAM531fkVg9Tt75JHVVYU4SouUKd7u4/aV9DWDJNz4fDNwblJ+Y7uCG +UgHxIn+5SelEuTA2rRmtMiqpveN1o0= X-Google-Smtp-Source: ABdhPJwf83T0uG0Hg4JDnuQYznUfK/muV6Oxgnqk3FgN3ZjO9QoT0/MZoQBTPxjpqCxU8Lbm8cANyw== X-Received: by 2002:adf:ebc8:: with SMTP id v8mr2414323wrn.153.1629966467016; Thu, 26 Aug 2021 01:27:47 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::ae3f]) by smtp.gmail.com with ESMTPSA id u5sm2281563wrr.94.2021.08.26.01.27.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Aug 2021 01:27:46 -0700 (PDT) From: Augusto Stoffel To: Andreas =?utf-8?Q?R=C3=B6hler?= Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> Date: Thu, 26 Aug 2021 10:27:43 +0200 In-Reply-To: <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> ("Andreas =?utf-8?Q?R=C3=B6hler=22's?= message of "Sun, 15 Aug 2021 08:41:45 +0200") Message-ID: <87k0k8wqyo.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Lars Ingebrigtsen 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 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Sun, 15 Aug 2021 at 08:41, Andreas R=C3=B6hler wrote: > On 14.08.21 11:29, Augusto Stoffel wrote: >> On Fri, 13 Aug 2021 at 18:44, Andreas R=C3=B6hler wrote: >> >>> Hmm, a buffer is not an interactive shell. Putting a print() around >>> should do it. >> I'm not sure I get your point. Evaluating an expression should print >> the result, no? It's the P in REPL. > > Python's interactive prompt offers a slightly different behavior than > running code through a plain Python interpreter. > > I understand the code in a buffer as something which is executed as a > program. If you run a program by a python interpreter, if it outputs=20 > something, that depends. Well, maybe that depends a bit on the use-case and taste. But I would like "send to the shell" to be more or less equivalent to "copy and paste in the shell buffer". Other people would prefer this as well, cf. https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D29592 Anyway, I played around a bit and it's not hard to recover the Jupyter behavior where evaluating some statements returns the last value. The attached file showing how it works. I think Elpy does something similar, in fact. I'm struggling a bit on how this could be integrated with python.el. Just dropping these new commands there would be easy, but not ideal; one should probably integrate more tightly with the existing python-shell commands, say by introducing a 'python-sell-echo-result' defcustom. But then I feel tempted to change various other things I don't like about the Python shell, in particular the use of temporary files (as opposed to escaped strings) to transfer pieces of code, which is very slow via Tramp. By the way, I also dislike how the 'python-shell-send-*' functions don't even print a newline on the shell buffer, so that you see ">>> >>> >>>" instead of ">>>\n>>>\n>>>" after calling them thrice. This means (1) a result may be printed right next to the input prompt ">>>", and (2) it's impossible to tell if the inferior process is busy by looking at the relative position of the point and prompt. --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=python-shell-eval.el Content-Transfer-Encoding: quoted-printable ;; Evaluate Python code with result output -*- lexical-binding: t -*- (require 'json) (require 'python) ;; From https://bugs.python.org/issue39820#msg387189 ;; ;; How can we hide __PYTHON_EL_eval from stack traces? This is a ;; problem in `python-shell-send-*' as well, see ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D32042 (defvar python-shell-eval-setup-code "\ def __PYTHON_EL_eval(source, filename): print() import ast g, p =3D globals(), ast.parse(source, filename) expr, res =3D None, None if p.body and isinstance(p.body[-1], ast.Expr): expr =3D p.body.pop() code =3D compile(p, filename, 'exec') exec(code, g, g) if expr: code =3D compile(ast.Expression(expr.value), filename, 'eval') res =3D eval(code, g, g) return res" "Code used to evaluate statements in inferior Python processes.") ;;;###autoload (defun python-shell-eval-string (string &optional file-name add-history pro= cess) "Send STRING to inferior Python PROCESS." (interactive (list (read-string "Python statement: ") nil nil nil)) (unless process (setq process (python-shell-get-process-or-error t))) (unless file-name (setq file-name "")) (with-current-buffer (process-buffer process) (compilation-forget-errors) (when add-history (comint-add-to-input-history (if (stringp add-history) add-history string)))) (comint-send-string process (format "exec(%s);__PYTHON_EL_eval(%s, %s)\n" (json-encode python-shell-eval-setup-code) (json-encode string) (json-encode file-name)))) ;;;###autoload (defun python-shell-eval-region (start end &optional add-history) "Send the region delimited by START and END to inferior Python process." (interactive (list (region-beginning) (region-end) (not current-prefix-arg))) (python-shell-eval-string (python-shell-buffer-substring start end) (buffer-file-name) (buffer-substring-no-properties start end))) ;;;###autoload (defun python-shell-eval-buffer (&optional send-main) "Send buffer to inferior Python process." (interactive "P") (let ((string (python-shell-buffer-substring (point-min) (point-max) (not= send-main)))) (python-shell-eval-string string (buffer-file-name)))) (provide 'python-shell-eval) ;;; python-shell-eval.el ends here --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Aug 26 10:09:30 2021 Received: (at 49822) by debbugs.gnu.org; 26 Aug 2021 14:09:30 +0000 Received: from localhost ([127.0.0.1]:49969 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJG4Q-0001mC-Ce for submit@debbugs.gnu.org; Thu, 26 Aug 2021 10:09:30 -0400 Received: from quimby.gnus.org ([95.216.78.240]:47828) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJG4O-0001lz-Aa for 49822@debbugs.gnu.org; Thu, 26 Aug 2021 10:09:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=q5BJDgpSxbCLbE9MBu3uDfT9+jxfiRB8pZW1/qPFeO4=; b=KQxOpqw+Oq0ltS+HB6lm2LFZ1w WzF0RLvJiEpANJIxKwtKocdwlmgyZ5b1QZEByUe35j7xccBXS/zCzpF+ZdMIOup5YhdM2F70aLvuh kyucOy/VXz/F/HwHbQipYSBupVDsTQF70Px/Yu5S61vY9wQAbpbwTU0BTf5sugM3MSSA=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mJG4E-0001ak-1h; Thu, 26 Aug 2021 16:09:22 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: bug#49822: 28.0.50; python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> <87k0k8wqyo.fsf@gmail.com> Date: Thu, 26 Aug 2021 16:09:17 +0200 In-Reply-To: <87k0k8wqyo.fsf@gmail.com> (Augusto Stoffel's message of "Thu, 26 Aug 2021 10:27:43 +0200") Message-ID: <87h7fc1enm.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > I'm struggling a bit on how this could be integrated with python.el. > Just dropping these new commands there would be easy, but not ideal; one > should probably integrate more tightly with the exis [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Andreas =?utf-8?Q?R=C3=B6hler?= 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: -3.3 (---) Augusto Stoffel writes: > I'm struggling a bit on how this could be integrated with python.el. > Just dropping these new commands there would be easy, but not ideal; one > should probably integrate more tightly with the existing python-shell > commands, say by introducing a 'python-sell-echo-result' defcustom. But > then I feel tempted to change various other things I don't like about > the Python shell, in particular the use of temporary files (as opposed > to escaped strings) to transfer pieces of code, which is very slow via > Tramp. If you could fix this (i.e., not use temporary files), that would be very nice. > By the way, I also dislike how the 'python-shell-send-*' functions > don't even print a newline on the shell buffer, so that you see > ">>> >>> >>>" > instead of > ">>>\n>>>\n>>>" > after calling them thrice. This means (1) a result may be printed right > next to the input prompt ">>>", and (2) it's impossible to tell if the > inferior process is busy by looking at the relative position of the > point and prompt. Yes, that's pretty annoying. I'm sure plenty of people would appreciate it if this was fixed. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 28 05:28:33 2021 Received: (at 49822) by debbugs.gnu.org; 28 Aug 2021 09:28:33 +0000 Received: from localhost ([127.0.0.1]:53403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJudZ-0000ry-VS for submit@debbugs.gnu.org; Sat, 28 Aug 2021 05:28:33 -0400 Received: from mail-wm1-f50.google.com ([209.85.128.50]:41796) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mJudU-0000rf-De for 49822@debbugs.gnu.org; Sat, 28 Aug 2021 05:28:28 -0400 Received: by mail-wm1-f50.google.com with SMTP id c129-20020a1c35870000b02902e6b6135279so5914765wma.0 for <49822@debbugs.gnu.org>; Sat, 28 Aug 2021 02:28:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=tzcuqu9p7uiCs9WIH8VpDAD/fzbMSSHmbUkCEx6ctYo=; b=kTNVjjpeRaKoB0AcOK6xPASBqL8JbsGEu6o0zT/HHV/ymnMZ1KwxOO+Gqm9ubRfUYI xIcR4+pJ6G6HH60PR8nK3mfA3fYY10Gkm+u4Awd4yn2YkCdnnt12WfToDbQDNwcL3Nk2 qlq+m/L4YjJzjzJky3VL8ZtlkXig+hdMbCg3/axyOqO9Dbuuk9m4goP8Jx9IgELO5tpc TuovXZGKuzwmjcY89p88uEn7nVNESRKnKP3oQZXf9zRKZ1zuQeBFLuY2XYPrkYf+rmNP oQX+P+TZaowycVIqObjfjX1Gko3/Sw2kAkyO6m/ILI+CWXXx69a51Y+r7QGdYo5Ypwd8 t82g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=tzcuqu9p7uiCs9WIH8VpDAD/fzbMSSHmbUkCEx6ctYo=; b=kbEi4NwYh6QOsEJR4UakbWXC2oyAYy1VLC+u7bCg12ix6MhPxi5WYlF3552opWtLvH EHrvHzr5tp5/+Iw+s1u+DvZLu5EKfMsR6GijF5SACTwOP2dLDZccUHJmZCAFcXffYqdi ZS/3D5AVLSh7qC2PJsgT1W2SkENHCokqbT1msOJrf/PcOb9v6in3EizgNSTvN8te5j+m Cj56gtb4tUsJYrNRBjsJpbpsSGeKjkXrbgepp3P+PZ5iNU9og3286J4AvfLt9xeh/cgX sFW/QEMphDts0FIy4efSC5NO67v5sVTTeicM8Z9pIxRu9/t5ycy3a5tuRqIXSTWYL9lx rpIw== X-Gm-Message-State: AOAM531lc8MsJL6Sqfrse/V5jU2nG0ZiEJFHNL9AzwjymQelvPgHCe06 L2EmKDDt4y3WHe/ZVRGPulOx4ddkFsI= X-Google-Smtp-Source: ABdhPJyUetolMmyD8FfZfxO2cvExuRUkmgNpk9WobTZNgl/wWax9+OP1JeQ9IhmrtmM6hALP73O1EQ== X-Received: by 2002:a05:600c:3656:: with SMTP id y22mr23160303wmq.58.1630142897924; Sat, 28 Aug 2021 02:28:17 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::ae3f]) by smtp.gmail.com with ESMTPSA id d9sm11043917wrb.36.2021.08.28.02.28.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Aug 2021 02:28:17 -0700 (PDT) From: Augusto Stoffel To: Lars Ingebrigtsen Subject: [RFC PATCH] python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> <87k0k8wqyo.fsf@gmail.com> <87h7fc1enm.fsf@gnus.org> Date: Sat, 28 Aug 2021 11:28:16 +0200 In-Reply-To: <87h7fc1enm.fsf@gnus.org> (Lars Ingebrigtsen's message of "Thu, 26 Aug 2021 16:09:17 +0200") Message-ID: <87sfytex5b.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@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 (-) --=-=-= Content-Type: text/plain On Thu, 26 Aug 2021 at 16:09, Lars Ingebrigtsen wrote: > If you could fix this (i.e., not use temporary files), that would be > very nice. All right, I'm attaching a proposal for 'python-shell-send-string' (affecting also all other 'python-shell-send-' functions except 'python-shell-send-buffer'). The main user-visible change is that now a result is printed in the shell in all possible cases, i.e.: 1. If the string being evaluated is a one-line expression. 2. If the string being evaluated is a multiline expression such as "(1+\n1)". 3. The string being evaluated is contains multiple statements, the last of which is an expression. E.g., "x=1\nx". Currently, only case 1 prints a result (this is the actual topic of this bug). By avoiding to use 'python-shell-send-file', the following additional issues are fixed: 1. The plumbing code used to execute the user's code could crop up in a stack trace (Bug#32042). This is now almost completely fixed (the only exception I see is in the plain python3 interpreter, where a not-too-annoying mention to __PYTHON_EL_eval still appears.) 2. Sending temporary files over Tramp has a noticeable delay (and lots of echo area messages). In particular, completion is now faster on remote Python shells. 3. Some global symbols (os, codecs, etc.) used to be redefined; some others (compile, etc.) used to be assumed to not have been redefined by the user. We now only assume this is the case for 'exec' (because it's a keyword in Python 2). Note, however, that 'python-shell-send-file' remains unchanged. This is a reasonably sensitive change and it would be good to collect feedback from others before merging it (a properly formatted patch will then follow). In particular, since I'm not an expert in Python's internals, there might be some possible refinements to the __PYTHON_EL_eval function. Is this perhaps a better topic for the emacs-devel list? --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-Improve-python-shell-send-functions.patch >From 10b474c9f82f13b3ee9c451a6aea0d3660041095 Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Sat, 28 Aug 2021 11:16:40 +0200 Subject: [PATCH] Improve python-shell-send functions --- lisp/progmodes/python.el | 64 +++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d5209d8d2f..bed709bb65 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -3081,6 +3081,45 @@ python-shell--save-temp-file (delete-trailing-whitespace)) temp-file-name)) +(defvar python-shell-eval-setup-code + "\ +def __PYTHON_EL_eval(source, filename): + import ast, sys + if sys.version_info[0] == 2: + from __builtin__ import compile, eval, globals + else: + from builtins import compile, eval, globals + sys.stdout.write('\\n') + try: + p, e = ast.parse(source, filename), None + except SyntaxError: + t, v, tb = sys.exc_info() + sys.excepthook(t, v, tb.tb_next) + return + if p.body and isinstance(p.body[-1], ast.Expr): + e = p.body.pop() + try: + g = globals() + exec(compile(p, filename, 'exec'), g, g) + if e: + return eval(compile(ast.Expression(e.value), filename, 'eval'), g, g) + except Exception: + t, v, tb = sys.exc_info() + sys.excepthook(t, v, tb.tb_next)" + "Code used to evaluate statements in inferior Python processes.") + +(defalias 'python-shell--encode-string + (let ((fun (if (and (fboundp 'json-serialize) + (>= emacs-major-version 28)) + 'json-serialize + (require 'json) + 'json-encode-string))) + (lambda (text) + (if (stringp text) + (funcall fun text) + (signal 'wrong-type-argument (list 'stringp text))))) + "Encode TEXT as a valid Python string.") + (defun python-shell-send-string (string &optional process msg) "Send STRING to inferior Python PROCESS. When optional argument MSG is non-nil, forces display of a @@ -3088,16 +3127,12 @@ python-shell-send-string t when called interactively." (interactive (list (read-string "Python command: ") nil t)) - (let ((process (or process (python-shell-get-process-or-error msg)))) - (if (string-match ".\n+." string) ;Multiline. - (let* ((temp-file-name (with-current-buffer (process-buffer process) - (python-shell--save-temp-file string))) - (file-name (or (buffer-file-name) temp-file-name))) - (python-shell-send-file file-name process temp-file-name t)) - (comint-send-string process string) - (when (or (not (string-match "\n\\'" string)) - (string-match "\n[ \t].*\n?\\'" string)) - (comint-send-string process "\n"))))) + (comint-send-string + (or process (python-shell-get-process-or-error msg)) + (format "exec(%s);__PYTHON_EL_eval(%s, %s)\n" + (python-shell--encode-string python-shell-eval-setup-code) + (python-shell--encode-string string) + (python-shell--encode-string (or (buffer-file-name) ""))))) (defvar python-shell-output-filter-in-progress nil) (defvar python-shell-output-filter-buffer nil) @@ -3139,7 +3174,8 @@ python-shell-send-string-no-output (inhibit-quit t)) (or (with-local-quit - (python-shell-send-string string process) + (comint-send-string process (format "exec(%s)\n" + (python-shell--encode-string string))) (while python-shell-output-filter-in-progress ;; `python-shell-output-filter' takes care of setting ;; `python-shell-output-filter-in-progress' to NIL after it @@ -3362,7 +3398,8 @@ python-shell-send-file (temp-file-name (when temp-file-name (file-local-name (expand-file-name temp-file-name))))) - (python-shell-send-string + (comint-send-string + process (format (concat "import codecs, os;" @@ -3372,8 +3409,7 @@ python-shell-send-file (when (and delete temp-file-name) (format "os.remove('''%s''');" temp-file-name)) "exec(compile(__code, '''%s''', 'exec'));") - (or temp-file-name file-name) encoding encoding file-name) - process))) + (or temp-file-name file-name) encoding encoding file-name)))) (defun python-shell-switch-to-shell (&optional msg) "Switch to inferior Python process buffer. -- 2.31.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 28 11:41:34 2021 Received: (at 49822) by debbugs.gnu.org; 28 Aug 2021 15:41:34 +0000 Received: from localhost ([127.0.0.1]:54852 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mK0Sc-0006Wi-H8 for submit@debbugs.gnu.org; Sat, 28 Aug 2021 11:41:34 -0400 Received: from quimby.gnus.org ([95.216.78.240]:44034) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mK0Sa-0006WR-VH for 49822@debbugs.gnu.org; Sat, 28 Aug 2021 11:41:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=nPkmzfP0N4iWxX+8UkWAc1tgd2iiEf1BDWlR/uSFmLo=; b=akR1nL4kxzs+iwImtyxay5sYDn y7a/cRVMgXAXJlsrV813rHc+M0YdQMmte4upIR4V//5mv3gKqWljZisLOVH6HY0sO9vWpJKWRyRJq GlpE0Pwu1uPDFiM83+nKvtnMwwwSGlF03YD/XNP5COkZwfuBSgYPpZmpQ1SzIa0dIXOc=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mK0SQ-00053k-67; Sat, 28 Aug 2021 17:41:26 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: [RFC PATCH] python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> <87k0k8wqyo.fsf@gmail.com> <87h7fc1enm.fsf@gnus.org> <87sfytex5b.fsf_-_@gmail.com> Date: Sat, 28 Aug 2021 17:41:20 +0200 In-Reply-To: <87sfytex5b.fsf_-_@gmail.com> (Augusto Stoffel's message of "Sat, 28 Aug 2021 11:28:16 +0200") Message-ID: <87o89hinkv.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > The main user-visible change is that now a result is printed in the > shell in all possible cases, i.e.: > > 1. If the string being evaluated is a one-line expression. > 2. If the string being evalu [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@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: -3.3 (---) Augusto Stoffel writes: > The main user-visible change is that now a result is printed in the > shell in all possible cases, i.e.: > > 1. If the string being evaluated is a one-line expression. > 2. If the string being evaluated is a multiline expression such as > "(1+\n1)". > 3. The string being evaluated is contains multiple statements, the last > of which is an expression. E.g., "x=1\nx". > > Currently, only case 1 prints a result (this is the actual topic of this > bug). Sounds like a definite improvement. :-) > This is a reasonably sensitive change and it would be good to collect > feedback from others before merging it (a properly formatted patch will > then follow). In particular, since I'm not an expert in Python's > internals, there might be some possible refinements to the > __PYTHON_EL_eval function. Is this perhaps a better topic for the > emacs-devel list? Yes, it might be a good idea to raise this topic on emacs-devel and see if there's any feedback. Some minor comments on the patch: > +(defvar python-shell-eval-setup-code > + "\ > +def __PYTHON_EL_eval(source, filename): > + import ast, sys > + if sys.version_info[0] == 2: > + from __builtin__ import compile, eval, globals I think it might be a better long-term maintenance solution to put the Python code here (and from `python-shell-completion-native-setup') into a .py file under etc (for instance in a new "python-mode" sub-directory), and then read it in run-time (accessed via `data-directory', which points to etc), and cache it in an internal variable. Editing Python that's inside a Lisp string is awkward. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sat Aug 28 11:41:50 2021 Received: (at control) by debbugs.gnu.org; 28 Aug 2021 15:41:50 +0000 Received: from localhost ([127.0.0.1]:54855 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mK0Sr-0006XI-Rh for submit@debbugs.gnu.org; Sat, 28 Aug 2021 11:41:49 -0400 Received: from quimby.gnus.org ([95.216.78.240]:44048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mK0Sp-0006X4-Fi for control@debbugs.gnu.org; Sat, 28 Aug 2021 11:41:47 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=MpMm5iZhqoWJd5YehHzO6GCqUN23vNGP2Q6u6qC5fWw=; b=UxxfqkRU2hSjlumTGPIC4fRM9V +FHM5uJbhbu6Wqanlo0Zvzb5AS6wem95RQGwMXccYPpHZ/SA/kApYKhOssci42XO6wYR9ZUYWNT8a 8FNQSLMp9Yc6t1YgMpSfsdtRSiPaQd5KIRT0/E8t01YQpcxkoQE//0Mt4+jUbzRP6Svg=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mK0Sh-00053x-Bp for control@debbugs.gnu.org; Sat, 28 Aug 2021 17:41:41 +0200 Date: Sat, 28 Aug 2021 17:41:38 +0200 Message-Id: <87mtp1inkd.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #49822 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: tags 49822 + patch quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) 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: -3.3 (---) tags 49822 + patch quit From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 03 04:02:30 2021 Received: (at 49822) by debbugs.gnu.org; 3 Sep 2021 08:02:30 +0000 Received: from localhost ([127.0.0.1]:42818 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mM49e-0005Mf-DV for submit@debbugs.gnu.org; Fri, 03 Sep 2021 04:02:30 -0400 Received: from mail-wm1-f44.google.com ([209.85.128.44]:50719) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mM49a-0005Fm-KD for 49822@debbugs.gnu.org; Fri, 03 Sep 2021 04:02:28 -0400 Received: by mail-wm1-f44.google.com with SMTP id m2so2935358wmm.0 for <49822@debbugs.gnu.org>; Fri, 03 Sep 2021 01:02:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=rjpJ++rL6mkSgbR2IHkKQjuFeWI8D+XcMtfOZ7MTkqs=; b=Zjfe/OKYNiroHMyduA3iZEXzTj3VCeVBK9DnOjiD/0v3Nq+KjbhJCJi0IqnKbkw24f 1MCSMNYRzYx4PbXfD7odg2X9/En3iLE6mnhSfB/WoJCvPVG9lUNJT0aTMW4t6lfox4eR njTa7ktTw0l9QKNW6LZxlWvK9QJszrokX+mtxrVaoOPt8hyPWb/I1ZFfT9GpfbYAcNgy 11NQjf01NJc4h0aQMiO0wXkY9CduM1g/YrM1h7IgB8KckCsUXH3Lrn5tjB/x3VmXSlkx mg3OaKCiegy5MkK0ai7SGapA4PN6CJ9CGW233hyb/O3RAKRdOwyiimHAGapwZgHget5j GG0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=rjpJ++rL6mkSgbR2IHkKQjuFeWI8D+XcMtfOZ7MTkqs=; b=WpJJ2detiAP9UzzlibHJSW9EAIXCq17MX0LzKkZGrkpQ2upmgj6i7VGuYJR/bIw7ox d3+l1nXJnN/yKSGYTrswStWfEepyLjrJ00+Ch5tNqa2oERcw72mgdy9b31stVnkbtYSN tjtaCQSTl64pxJU8yFF1mki9xMLMsbF/vCpZZDlFMsrUa6ytLbjsk8SXQI3+XlWDyhpz nI6+SAvjMo3H3HAiUl5vLfh8NYxnFITRVKiSB9rJr92SKu06mPITfGUY+WaenzBWpmST RwWbDnK7ABRsiH5+INqI5BwUA3azlD4TCYTCEDsQlOUpjAvpgEnkpgSqJA/y92nonORg fPwQ== X-Gm-Message-State: AOAM531Gc4RZeuz/hTMBRaNV1+1YXixkC+1qzBtIQPs09NozwQwuFmDL YYRPKTsASIJ5HcXhFSzQr5fkZ79t8X7tjw== X-Google-Smtp-Source: ABdhPJwT2qILvMBZ+3oavFy0em9LLU8vGLM/6XKako7y9CGdMrDKQQJnxquN85SECqtvQuTq5H7rXg== X-Received: by 2002:a7b:cbc2:: with SMTP id n2mr6952202wmi.155.1630656140248; Fri, 03 Sep 2021 01:02:20 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::8aaf]) by smtp.gmail.com with ESMTPSA id f3sm3582189wmj.28.2021.09.03.01.02.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Sep 2021 01:02:19 -0700 (PDT) From: Augusto Stoffel To: Lars Ingebrigtsen Subject: Re: [PATCH] python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> <87k0k8wqyo.fsf@gmail.com> <87h7fc1enm.fsf@gnus.org> <87sfytex5b.fsf_-_@gmail.com> <87o89hinkv.fsf@gnus.org> Date: Fri, 03 Sep 2021 10:02:18 +0200 In-Reply-To: <87o89hinkv.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sat, 28 Aug 2021 17:41:20 +0200") Message-ID: <87fsumjddh.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@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 Sat, 28 Aug 2021 at 17:41, Lars Ingebrigtsen wrote: > Yes, it might be a good idea to raise this topic on emacs-devel and see > if there's any feedback. Okay, nobody chimed in on this thread (and I think I forgot to mention it in emacs-devel), but this patch works well for me so far. So I would suggest to merge it. > > Some minor comments on the patch: > >> +(defvar python-shell-eval-setup-code >> + "\ >> +def __PYTHON_EL_eval(source, filename): >> + import ast, sys >> + if sys.version_info[0] == 2: >> + from __builtin__ import compile, eval, globals > > I think it might be a better long-term maintenance solution to put the > Python code here (and from `python-shell-completion-native-setup') into > a .py file under etc (for instance in a new "python-mode" > sub-directory), and then read it in run-time (accessed via > `data-directory', which points to etc), and cache it in an internal > variable. > > Editing Python that's inside a Lisp string is awkward. Yes, that makes sense. On the other hand, it would make the entire setup a bit more complicated, and I'm unsure about some of the details. I do want to refactor `python-shell-send-file', though, so that at least it doesn't generate Python code strings on the fly (and at the same time solve the remaining part of Bug#32042). From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 03 08:28:16 2021 Received: (at 49822) by debbugs.gnu.org; 3 Sep 2021 12:28:16 +0000 Received: from localhost ([127.0.0.1]:43252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mM8Iq-0006RD-8Y for submit@debbugs.gnu.org; Fri, 03 Sep 2021 08:28:16 -0400 Received: from quimby.gnus.org ([95.216.78.240]:57492) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mM8Io-0006Qy-Fm for 49822@debbugs.gnu.org; Fri, 03 Sep 2021 08:28:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=qlcGmiPcimFZzMbIKTbuDt57fTkH0uw7qxQKfMtNbJE=; b=GtQGClGUuUXieDv8gimLTUq/X/ zHR4mA+feyMJ1OfS69IGNq1fn4z3lH0v3xnOP/gSKb+Dt4M4ZFJPVr+qa6UJJGfca8cZtPrDoXd+Z LFTMspgUSH4henlwPJ6MIDkqqcBIG1hxhSAeVwqom4INoBfxzGDSf7NiB5zcFtz/G7wc=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mM8If-0003Ct-HZ; Fri, 03 Sep 2021 14:28:08 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: bug#49822: [PATCH] python-shell-send functions show no output References: <855f9eaf1b1d39bb9325d0a88e7f66c0ba0b45d0.camel@gmail.com> <87r1f9fzj4.fsf@gnus.org> <87im0a6789.fsf@gmail.com> <8735rdha6y.fsf@gnus.org> <69e713da-5186-780a-f0b7-8099ce6cde3d@easy-emacs.de> <87h7fsnzmo.fsf@gmail.com> <51fa5c12-53b4-ad92-505f-1896d955b68c@easy-emacs.de> <87k0k8wqyo.fsf@gmail.com> <87h7fc1enm.fsf@gnus.org> <87sfytex5b.fsf_-_@gmail.com> <87o89hinkv.fsf@gnus.org> <87fsumjddh.fsf_-_@gmail.com> Date: Fri, 03 Sep 2021 14:28:00 +0200 In-Reply-To: <87fsumjddh.fsf_-_@gmail.com> (Augusto Stoffel's message of "Fri, 03 Sep 2021 10:02:18 +0200") Message-ID: <87ilzhx2r3.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > On Sat, 28 Aug 2021 at 17:41, Lars Ingebrigtsen wrote: > >> Yes, it might be a good idea to raise this topic on emacs-devel and see >> if there's any feedback. > > Okay, nobody chim [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@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: -3.3 (---) Augusto Stoffel writes: > On Sat, 28 Aug 2021 at 17:41, Lars Ingebrigtsen wrote: > >> Yes, it might be a good idea to raise this topic on emacs-devel and see >> if there's any feedback. > > Okay, nobody chimed in on this thread (and I think I forgot to mention > it in emacs-devel), but this patch works well for me so far. So I would > suggest to merge it. OK; now done (with some trivial white-space changes to get lines under 80 chars... and I changed the defvar to a defconst). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 03 08:28:22 2021 Received: (at control) by debbugs.gnu.org; 3 Sep 2021 12:28:22 +0000 Received: from localhost ([127.0.0.1]:43255 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mM8Iw-0006RU-FR for submit@debbugs.gnu.org; Fri, 03 Sep 2021 08:28:22 -0400 Received: from quimby.gnus.org ([95.216.78.240]:57508) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mM8Iv-0006RC-D0 for control@debbugs.gnu.org; Fri, 03 Sep 2021 08:28:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc: MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=9bCCTyRYHkm/Q2RkgqYKQEcec7P5fpQ3zJzaCYp6xWI=; b=KJZQXLHQ4KcKpwtbCzQJ6pdOw+ IPfMGHY+hzXA+qPEvK3bot+UgSitGXewXnRUXdcODFTSfykVxfxHD5+P6kuei5yU93D3RuTLjGkz2 KlIKs5iUSsimhR7GBIZOVSZE193xb01sScSBFu3oKGx9NN/mhkJ2Zapwr1cc9mi0zYE8=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mM8In-0003Fq-Ja for control@debbugs.gnu.org; Fri, 03 Sep 2021 14:28:15 +0200 Date: Fri, 03 Sep 2021 14:28:13 +0200 Message-Id: <87h7f1x2qq.fsf@gnus.org> To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #49822 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 49822 28.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) 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: -3.3 (---) close 49822 28.1 quit From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 04 05:49:43 2021 Received: (at 49822) by debbugs.gnu.org; 4 Sep 2021 09:49:43 +0000 Received: from localhost ([127.0.0.1]:46660 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMSIw-0002zq-RJ for submit@debbugs.gnu.org; Sat, 04 Sep 2021 05:49:43 -0400 Received: from mail-wr1-f53.google.com ([209.85.221.53]:33673) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMSIu-0002zb-Bv for 49822@debbugs.gnu.org; Sat, 04 Sep 2021 05:49:40 -0400 Received: by mail-wr1-f53.google.com with SMTP id b10so2159016wru.0 for <49822@debbugs.gnu.org>; Sat, 04 Sep 2021 02:49:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=uYx71icbEEV30m8z547je/rE0wdQz2z9amCg22AzY7c=; b=Trd5u+ZtuPw3V2dhB0j+u2/BLIQJKfIAsj932yPkgZbOWsM7Vt22ZVgmsH0EArz0V0 PPn4m0O9jMSpfnN6pm1N7BqRxQcn5za6BA0hzP06qRth6LIu6+iT+6llEjDSeRNgLLDf PZHpdyCCq/wn8kryVtvXgnkX6LlVLJ1YNOYI59o1GkZZgf24H4lExJQFzIuQnBq/yD7c s78w7hvD74mbjikewtqfc6shRcRtIWdNYycHnOqpsjILzC/Met8b6T5me3iwSKnTk7BE nnwRUy7/3vRkjf4NLcU+9kNKjHpCYvNnEVmL6LGvAOzKggwroDdxJOcYfM/j/jNCMWJz RzyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=uYx71icbEEV30m8z547je/rE0wdQz2z9amCg22AzY7c=; b=ZuFmtH8WDbuTyCejDMA15BHqaFyN7YAcomFh7Xljc4QHaO+9p2bLiwMcJHuN9JI3yW LKfKIFn5u/NUhabVT/VGdFrkf1VffVekA6AtRZ2w6OkZ/THa5mLontONErgerCg7UZhS qRNFaloy0lKJkNDgbHYfmCjq8sWgx0eZ7sug5NFPanUtVwmHVv0CpvEwqpiX1h1Vsksh dcr0n9/5SfIidersDgPc27ta0PtMNINpXdDIdjFMUvDLYQSgtDO3bKYqtHcMre7Fwc0C Z1oMn7qzv/QMlA80KEYatW4Lhgmua8Ps6chpvtsRqLzBhijV+ZQp2mo6TRCGaDcshQ/9 GWag== X-Gm-Message-State: AOAM530teL3rl825LEJs1Rvv1W+RVj/VPUMwCdHzNup62r0lnbUHiM/a xEaI6ZVtndGkN914Hv0rghe69nUHLZI= X-Google-Smtp-Source: ABdhPJy0Q871I2edIQHSbv/+sihVnSlTkqHBPYYKTF5zb3jr+4ncrF4KNRO3LmtAb5/6CKlpxHlWVw== X-Received: by 2002:a5d:4951:: with SMTP id r17mr3215977wrs.417.1630748973951; Sat, 04 Sep 2021 02:49:33 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::8aaf]) by smtp.gmail.com with ESMTPSA id e3sm2104183wrv.18.2021.09.04.02.49.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 04 Sep 2021 02:49:32 -0700 (PDT) From: Augusto Stoffel To: Stefan Monnier Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> Date: Sat, 04 Sep 2021 11:49:31 +0200 In-Reply-To: (Stefan Monnier's message of "Fri, 03 Sep 2021 19:04:53 -0400") Message-ID: <87r1e4eklw.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, emacs-devel@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 (-) --=-=-= Content-Type: text/plain On Fri, 3 Sep 2021 at 19:04, Stefan Monnier wrote: >> Change Python eval to send directly instead of using temporary files > > FWIW, sending large amounts of text via pty can be troublesome (some > OSes have been known to insert additional control chars every 256 > bytes, or to do weird things after 4096 bytes leading the send to never > complete, ...), which is why it's very common for comint modes to send > regions of text via temp files. > > > Stefan Okay, the 4096 bytes limit indeed exists in IPython (but not in the standard Python interpreters, apparently). I've attached a patch that reverts to using temporary files for sufficiently long strings (would this magic 4096 ever require customization?). The patch also solves bug#32042, which is mostly unrelated. I would like pass text inline as much as possible because the back-and-forth of temp files is pretty slow over Tramp, which makes the Python shell rather annoying to use. As to some OSes inserting additional control characters every 256 bytes, I've never encountered this, but it seems a rather tricky problem to work around. Before this commit, the "plumbing code" sent to the interpreter could already be above 256 bytes (e.g., if the generated temp file names are modestly long). Inserting newline characters at strategic places would print random prompt strings, and therefore also introduce complications. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Fixes-for-python-shell-send-string-and-python-shell-.patch >From 6fdbecb66d4409e2ce03c559861138966abb4acd Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Sat, 4 Sep 2021 11:16:11 +0200 Subject: [PATCH] Fixes for 'python-shell-send-string' and 'python-shell-send-file' * lisp/progmodes/python.el (python-shell-send-string): use a temporary file for sufficiently long strings. (python-shell-send-file, python-shell-eval-file-setup-code): Avoid showing "plumbing code" in the traceback (bug#32042). --- lisp/progmodes/python.el | 46 +++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 306cc3a542..d8ec032402 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -3127,12 +3127,18 @@ python-shell-send-string t when called interactively." (interactive (list (read-string "Python command: ") nil t)) - (comint-send-string - (or process (python-shell-get-process-or-error msg)) - (format "exec(%s);__PYTHON_EL_eval(%s, %s)\n" - (python-shell--encode-string python-shell-eval-setup-code) - (python-shell--encode-string string) - (python-shell--encode-string (or (buffer-file-name) ""))))) + (let ((process (or process (python-shell-get-process-or-error msg))) + (code (format "exec(%s);__PYTHON_EL_eval(%s, %s)\n" + (python-shell--encode-string python-shell-eval-setup-code) + (python-shell--encode-string string) + (python-shell--encode-string (or (buffer-file-name) + ""))))) + (if (<= (string-bytes code) 4096) + (comint-send-string process code) + (let* ((temp-file-name (with-current-buffer (process-buffer process) + (python-shell--save-temp-file string))) + (file-name (or (buffer-file-name) temp-file-name))) + (python-shell-send-file file-name process temp-file-name t))))) (defvar python-shell-output-filter-in-progress nil) (defvar python-shell-output-filter-buffer nil) @@ -3372,6 +3378,18 @@ python-shell-send-defun nil ;; noop msg)))) + +(defconst python-shell-eval-file-setup-code + "\ +def __PYTHON_EL_eval_file(filename, tempname, encoding, delete): + import codecs, os + with codecs.open(tempname or filename, encoding=encoding) as file: + source = file.read().encode(encoding) + if delete and tempname: + os.remove(tempname) + return __PYTHON_EL_eval(source, filename)" + "Code used to evaluate files in inferior Python processes.") + (defun python-shell-send-file (file-name &optional process temp-file-name delete msg) "Send FILE-NAME to inferior Python PROCESS. @@ -3401,15 +3419,13 @@ python-shell-send-file (comint-send-string process (format - (concat - "import codecs, os;" - "__pyfile = codecs.open('''%s''', encoding='''%s''');" - "__code = __pyfile.read().encode('''%s''');" - "__pyfile.close();" - (when (and delete temp-file-name) - (format "os.remove('''%s''');" temp-file-name)) - "exec(compile(__code, '''%s''', 'exec'));") - (or temp-file-name file-name) encoding encoding file-name)))) + "exec(%s);exec(%s);__PYTHON_EL_eval_file(%s, %s, %s, %s)\n" + (python-shell--encode-string python-shell-eval-setup-code) + (python-shell--encode-string python-shell-eval-file-setup-code) + (python-shell--encode-string file-name) + (python-shell--encode-string (or temp-file-name "")) + (python-shell--encode-string (symbol-name encoding)) + (if delete "True" "False"))))) (defun python-shell-switch-to-shell (&optional msg) "Switch to inferior Python process buffer. -- 2.31.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 04 09:53:10 2021 Received: (at 49822) by debbugs.gnu.org; 4 Sep 2021 13:53:10 +0000 Received: from localhost ([127.0.0.1]:46902 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMW6L-0005DP-Ko for submit@debbugs.gnu.org; Sat, 04 Sep 2021 09:53:10 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:61089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMW6K-0005D9-7D for 49822@debbugs.gnu.org; Sat, 04 Sep 2021 09:52:56 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id AE392100136; Sat, 4 Sep 2021 09:52:52 -0400 (EDT) Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 509241000CF; Sat, 4 Sep 2021 09:52:51 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1630763571; bh=kIzVLccZ4WvkIC6y34Qz/Si0Kh7olU4cpUNa992Rgrw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=JCHK6RY8+C0eMGBKS15nuxbFce3IKUnt6jOFHuvpmhfP9Gq2jS5J0ZjxFOoEjL14l qERRMhkOzI4PoKA2zw68i5K7aHxdJ/S1cbQxtw2rhdB2wxFSC4gWZy91F9uErTNjTK jRd6h2uuYs2TMTmbhNHuEYFvMYQMWvSrt7P47WCiK1wtShUROmDfbDkOHTsPBaQL4o k5z2jcF81KSlSRon7VdfWzeiyoJXWlzX6zfFo9c9Q9svram9eR51To/5umk/QjCanH 1VIShfV571yF4wp3m3EFsrM2Rhun4janaBjF0RZ+eRYADRccPopzfsE06RkN0cla1K +6N/8ROUreabw== Received: from milanesa (unknown [104.247.244.135]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 100C212004D; Sat, 4 Sep 2021 09:52:49 -0400 (EDT) From: Stefan Monnier To: Augusto Stoffel Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files Message-ID: References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> Date: Sat, 04 Sep 2021 09:52:48 -0400 In-Reply-To: <87r1e4eklw.fsf@gmail.com> (Augusto Stoffel's message of "Sat, 04 Sep 2021 11:49:31 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.051 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, emacs-devel@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 (-) > As to some OSes inserting additional control characters every 256 bytes, > I've never encountered this, but it seems a rather tricky problem to > work around. IIRC this was on some version of macos, and maybe the 256B limit applied only to text without newlines or something like that [it was too long ago]. Stefan From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 03:41:56 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 07:41:56 +0000 Received: from localhost ([127.0.0.1]:49067 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMmmp-0004Qh-St for submit@debbugs.gnu.org; Sun, 05 Sep 2021 03:41:56 -0400 Received: from quimby.gnus.org ([95.216.78.240]:48840) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMmmn-0004QO-Jb; Sun, 05 Sep 2021 03:41:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=W8frVmKtSZqeCZQTNm7uZOIswE0vNBommsiy+cAPff8=; b=J8pcYB7bFoGBv5z9Z5nlRizcfS 70iIVeHdlN+ZDiTXRg8y3frvrHZDDV8YbRyRh8YxUYohJN6ej+pBnbHOaQjan9WtBbUOjjTD2WYcG xE188vIaL0cldm+46SjymaUBJx/+NRi3J1Yd+oGzXAPmPB4OW8y6HuMqppBECZSOCQ6Y=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mMmmY-000300-IB; Sun, 05 Sep 2021 09:41:41 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> Date: Sun, 05 Sep 2021 09:41:37 +0200 In-Reply-To: <87r1e4eklw.fsf@gmail.com> (Augusto Stoffel's message of "Sat, 04 Sep 2021 11:49:31 +0200") Message-ID: <87ilzfpiz2.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > I've attached a patch that reverts to using temporary files for > sufficiently long strings (would this magic 4096 ever require > customization?). The patch also solves bug#32042, which is mostly > [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, 32042@debbugs.gnu.org, Stefan Monnier , emacs-devel@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: -3.3 (---) Augusto Stoffel writes: > I've attached a patch that reverts to using temporary files for > sufficiently long strings (would this magic 4096 ever require > customization?). The patch also solves bug#32042, which is mostly > unrelated. Thanks; pushed to Emacs 28 (and I guess I'll close bug#32042, then). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 03:46:34 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 07:46:34 +0000 Received: from localhost ([127.0.0.1]:49083 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMmrK-0005sJ-5u for submit@debbugs.gnu.org; Sun, 05 Sep 2021 03:46:34 -0400 Received: from mail-wm1-f47.google.com ([209.85.128.47]:55980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMmrI-0005nM-Si for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 03:46:33 -0400 Received: by mail-wm1-f47.google.com with SMTP id g135so2245585wme.5 for <49822@debbugs.gnu.org>; Sun, 05 Sep 2021 00:46:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=fYZUjzx+MC4B9HUKvu7zbPKodG+Nd5b2EMiep9hvTnI=; b=IZERZuD+ip0iejLqNjRhpu4vE4+V+d6T+MKYCYZP2zYl/5uxr8j0tHGcqya0c0KnX2 NC3zKBl8yrd1DbXTxEI2PekvD4X/dQf7gyNu8iyc1ehCG7Ix44nbapZf98NROXBtwdb4 7rYS1NMjtld+SHPZhz3GIq2PWryQGvbrgAbaqYB74ywsezZf5QqN6bv2fjL9L8AyGWc5 cgzulGr08a3Z3DK1nC4fX7CcmEexf2lRaWFORv/UfVcLjtVJqk99MDkSvwjCJ6+CyTPb ZRgOSyzqaxcsKK4qTMuyVCiUT4wDng4Qecer/VIrCpLqtCZ8qTe/vHCHkkysLAiNql32 yfpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=fYZUjzx+MC4B9HUKvu7zbPKodG+Nd5b2EMiep9hvTnI=; b=iLhVqPH/4jyDldqZOs87tsK4zQBacAkgwZDxPE2l+ggw2b/JUf+lFlI7Dt0ZbQHuHX nlGFR/y+XnmeZ57l+st6npoYZoLhWdnCAuG7e5RqT03mBc0VyjTnoQsSfMdnJdkK8KSC jdbc6hOD1qbfuiw0pfzU8eG0fogB5Ckp+4LpsItIaazjVU68R3JtIFtmU6R2/BSeU1Uq PbWjaKjQW1MXqPcK7Bx5Lw91LfSGa0FcqOc8NREmaVvXBKCKN2I5XSTNpHUoNCE6fmkb LoJG8g+9c12s3rBmOKJAC6bS4PdQ6/B5pNRlsVQ4RNBxNjV/Ed2vg75X+NTCYpIkmQEZ X2Sw== X-Gm-Message-State: AOAM533jdKponD7O9fZN4iFSftjsjoOT9k76t0o07YdOclyxY1AHFh5z 3W8qBF44emkclUY6s2on+co= X-Google-Smtp-Source: ABdhPJwS3Z2BKzczYMUFPA3pbndyZKwvfEXfMC4ngwybnF0ujT8lCE+NkxyfqAQqTByHYHm1qvFUYQ== X-Received: by 2002:a1c:1d84:: with SMTP id d126mr5968978wmd.160.1630827986850; Sun, 05 Sep 2021 00:46:26 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::8aaf]) by smtp.gmail.com with ESMTPSA id p9sm4245951wrg.14.2021.09.05.00.46.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Sep 2021 00:46:26 -0700 (PDT) From: Augusto Stoffel To: "Barton, Mark" Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> Date: Sun, 05 Sep 2021 09:46:25 +0200 In-Reply-To: <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> (Mark Barton's message of "Sun, 5 Sep 2021 06:13:59 +0000") Message-ID: <87mtorcvn2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Stefan Monnier , "emacs-devel@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 Sun, 5 Sep 2021 at 06:13, "Barton, Mark" wrote: > Today I was trying to export my monthly org document that uses org babel = python blocks to > produce tables. I can get it to export fine if I revert python.el to the = version before e32c7d2a8d > - Change Python eval to send directly instead of using temporary files. > > Below I show the python session buffer, first where it is working and the= n where it is broken for > me. I=E2=80=99m running Emacs on macOS 11.5.1 and compile from the master= branch. > > In the =E2=80=9CBroken session buffer=E2=80=9D below, I recognize the cod= e from that commit, but I really don=E2=80=99t > understand the problem. Any ideas on what other information I can gather = that would be > useful? I can run all the examples in https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-python.html after the changes of e32c7d2a8d. Can you provide a small example to reproduce the problem you encountered? From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 04:10:36 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 08:10:36 +0000 Received: from localhost ([127.0.0.1]:49118 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMnEZ-0007KT-Qx for submit@debbugs.gnu.org; Sun, 05 Sep 2021 04:10:36 -0400 Received: from mail-wm1-f46.google.com ([209.85.128.46]:45942) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMnEX-0007KC-7d for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 04:10:34 -0400 Received: by mail-wm1-f46.google.com with SMTP id j17-20020a05600c1c1100b002e754875260so2501058wms.4 for <49822@debbugs.gnu.org>; Sun, 05 Sep 2021 01:10:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=ZkDTmt+zYS2ROK0VHPFj+o/d+GVTzcJwvjeLpxvxV2Y=; b=XBIbA/oJHcXcxVsBMf2lzkdAT2zxPky9L2n5n93yqhutyDHq7sh0BXXqPN1a+I9CJf IbstzWFOxZOaTvqiaJBhSNyYcimOt5XazSoQWX30oZ9hiI4ckzjk4Ug5vN8Lq3ksbcq3 7SC/1V85V9uQ7yyBJmny5dldX8wzK6xp5I847/toSVQAHMmvxBaUL13Xon/OXbYbIdEs lBCnrJiTzYnzRBFS9CfNYAH7dwkactxSrgZEXIXChIUh/ftmIn4kuvmPkZZVTDBySFDy S6quzkRQz3K3UMnD6or56gczP8EV2gTfl+c2+WMLQ/AMobVI/9ICz0pOFT0JYL79zFKf oraA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=ZkDTmt+zYS2ROK0VHPFj+o/d+GVTzcJwvjeLpxvxV2Y=; b=Q8KfzeUFr174ntWX/LCoyBgciwO82DZEtGpS0a8ZvKwCUhtTebO356WpzKsY3kIApN z1sAfMPBZCnEvIdlM2hlyEeLOLiX6g3s+LrIRx+oujyjN1AKq7JBiVU7XUf+GB+HcLd6 4PTUrlSd4Aq6YyoFUJkiMgaIhLBKNdgS+egbIaz5oqajF5+Ks792OzPGGNBiBjCO7geN YE6+9YwB2BguqekuJvSCdLu1X6BVeuf94ATmW3VniTvNFU701oEo1i13nr77yYLETCuw ZwETfy6RU1C8wXyZE0J8wpgsCpA7WGzHMYgrbYZp77EeENqCMgQw6CFPdD61/m8+yGIc RRUw== X-Gm-Message-State: AOAM530AJ8xbls4dOAphFHm42vQgjhMJcsFTqshe60Jku5++NCh3O/aN JgUOosgHzBTHvRiaItFRKQQ= X-Google-Smtp-Source: ABdhPJz60+wn8YvK8HvBdrn3tVSI1x8qwgi1ZOO9pHwDpC8/FKZAzI14f4atlsc4F2C9vxBIue6Llg== X-Received: by 2002:a05:600c:2d89:: with SMTP id i9mr6321884wmg.10.1630829427372; Sun, 05 Sep 2021 01:10:27 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::8aaf]) by smtp.gmail.com with ESMTPSA id w9sm4324429wrs.7.2021.09.05.01.10.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Sep 2021 01:10:27 -0700 (PDT) From: Augusto Stoffel To: "Barton, Mark" Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> Date: Sun, 05 Sep 2021 10:10:25 +0200 In-Reply-To: <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> (Mark Barton's message of "Sun, 5 Sep 2021 06:13:59 +0000") Message-ID: <87ilzfcuj2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Stefan Monnier , "emacs-devel@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 Sun, 5 Sep 2021 at 06:13, "Barton, Mark" wrote: > Today I was trying to export my monthly org document that uses org babel = python blocks to > produce tables. I can get it to export fine if I revert python.el to the = version before e32c7d2a8d > - Change Python eval to send directly instead of using temporary files. > > Below I show the python session buffer, first where it is working and the= n where it is broken for > me. I=E2=80=99m running Emacs on macOS 11.5.1 and compile from the master= branch. > > In the =E2=80=9CBroken session buffer=E2=80=9D below, I recognize the cod= e from that commit, but I really don=E2=80=99t > understand the problem. Any ideas on what other information I can gather = that would be > useful? Two more things you could try: 1) set `python-shell-completion-native-enable' to nil 2) pull the current master, after commit 1fdd898704 I'd be curious to see the effect of 1) before doing 2), if you have the time for this quick test. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 12:08:33 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 16:08:33 +0000 Received: from localhost ([127.0.0.1]:50814 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMuh5-0005DK-Vs for submit@debbugs.gnu.org; Sun, 05 Sep 2021 12:08:33 -0400 Received: from mail-dm6nam11on2114.outbound.protection.outlook.com ([40.107.223.114]:29981 helo=NAM11-DM6-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMlPq-00009w-W3 for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 02:14:08 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YB2pqbFa4AknZ9j1/VQAQDulQSyRAPAXXZ9JJpx8pSdtMmpKNkaFHg/RMw5QZubbNGNGo/hMSk6s9uMr8YRSznO+8Vo0iFMLkxwu9+eebftKfQMPwk/pVJ6CBURj5rbWSbK5B4Jlz2NLsxewIO0s5YM5jIKU17NjYsA1SMhw1flwY55tf4iu9X9iT/f5TV1FJaMsU1q4QkCjS+RgH+iHxU7PCvioiC0zvuF6UXSimV1uURsePyy3OeMGGABfKdqG9rpTLz0xOm69+dhxrsfG1CqGWzEIOd29ADUJCfd81kyKMAX8lbq+0S5quwaUxamRmMoQUi5rDv3kmJelaIbRtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r0Y0Q3PeOPe9DKe78oOnqfwCnfXcMhyA49VJFL7Ksp0=; b=Kszh5WcFaKr0WUPbTkDF7g8xzLHn7uKrAdYmJd5sOZ4NJGZmK6YzwieNm+Wht2uLiEaRniECEIlsyAAt8POTDu5s1fYUUGcOkRkqNKluWE+RKrVptF0DpGoIcnch0yui4jbCTxEHGfFee4X2pHsuUjX5PMXR/ZYkxWlH5ooJ4Hd8M8fu/MlEmvwNaboumF0RP3c1bZ82eHcdUAO5cm0R5pfxyT7sTEYjIJ3Uc4jn7czpp7Fom5rOcdJKT15ybKm7PGBfW3wvB2X0rjbaVhy4cZcwGaYvaxtbBJiyzEaTT6fNy64TMDukdbgo85d7baE+jDA6Wk1HdsCDgNSJzAqSCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=disney.com; dmarc=pass action=none header.from=disney.com; dkim=pass header.d=disney.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twdc.onmicrosoft.com; s=selector2-twdc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r0Y0Q3PeOPe9DKe78oOnqfwCnfXcMhyA49VJFL7Ksp0=; b=C4e/yiuiu9b9ifZVevdqbLFEp9QpZ8A+j+Cqw/pYaN2FJopiyDcT4RG68q8hYiEjN8Dl+RObsZ0O9Bv2flACc69+A3L2wK3Qciq/ilqfRQWX/3bLvfUF9gYJ8VbsMgBiAAbwLPugrG3IQDU7sjQtAylAN1p4RQ6jUngCioFZyoM= Received: from SJ0PR03MB6501.namprd03.prod.outlook.com (2603:10b6:a03:386::18) by SJ0PR03MB6550.namprd03.prod.outlook.com (2603:10b6:a03:38e::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Sun, 5 Sep 2021 06:13:59 +0000 Received: from SJ0PR03MB6501.namprd03.prod.outlook.com ([fe80::ed98:60a4:b548:9d1d]) by SJ0PR03MB6501.namprd03.prod.outlook.com ([fe80::ed98:60a4:b548:9d1d%6]) with mapi id 15.20.4436.024; Sun, 5 Sep 2021 06:13:59 +0000 From: "Barton, Mark" To: Augusto Stoffel Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files Thread-Topic: master e32c7d2: Change Python eval to send directly instead of using temporary files Thread-Index: AQHXoh03teRdUPT+W0KKJa10V5VOGQ== Date: Sun, 5 Sep 2021 06:13:59 +0000 Message-ID: <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> In-Reply-To: <87r1e4eklw.fsf@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.120.0.1.13) authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=disney.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 15b374aa-3ff3-45b5-d06f-08d9703459e2 x-ms-traffictypediagnostic: SJ0PR03MB6550: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sWu0BYmYTbrWIrflP5NKxyKyvcQJPUATh0dQb2tsR44AosEJCyN0fNc4LheJoG4l5zc5n1r+X8ISGuDZDyh4XXXlZx39pYl2PtGKhmk2/47JRvS+hwmByRfmOhE3rT4rXly0Plnpqkp85IFF665x+jiPRCT6DnHro5HC0POB+HtE7NJHYX2XRI7haF8CbJeYAI7bzz7OsqktJXvW74MoLq5sUUrYhqgQ3Qt17ppJjITbTgMdN0I6jVPmn0LvBhbzsM3L27k8hfZbmT/3LrN/WPjYJJF9NRFRlmZlcdqqq4cLTp2yrcwYl7lSRGYNME/Rk2+FVODJgvOftOx2U7jlfc9OeYa4EnP/HCSdK+kI4hW2oGBtgOMeHIvdTuFdHT6Oj4BP2tYwIUTfzV6egVYvt4gDE0P2oP96Phk/da4ZAaS2KuwWBHiAOIUvp5EotKR1gLlaP3BxIscR2HQ4xy336ml0m3bVulhuagFxmUAAlK0XNc3gO7T1unncoTrPBwDjZrtcESVvjYE7WsHAqRmGSJChvnuRhRFxIVUCs/2qhcKu0CJ1gSJo2nO0Po6hppQksZXX+1nmm9Mz3EY+n+p/u+HIsTXbukO04d/cIvlpB+JUhwOfrTdH7h53zcHChHabxAAokvWEAOR7TNZvf03grqvSCE4HmB8T/CYnkZ65jdeqQBKrrgjM8KVqXp78Yc3Ql5t2Gg2HVHBwPfWp5vcg62FZl7rufpCDXQUmJCt7uiY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR03MB6501.namprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(346002)(376002)(396003)(366004)(39860400002)(38070700005)(53546011)(5660300002)(36756003)(6506007)(478600001)(8936002)(6486002)(6512007)(66946007)(316002)(71200400001)(2616005)(38100700002)(122000001)(76116006)(66556008)(66446008)(64756008)(66476007)(8676002)(83380400001)(6916009)(86362001)(186003)(33656002)(54906003)(4326008)(2906002)(45980500001)(579004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T0NiZDJRbm9JcVkvNVhRcUVnZG1SUUowcVFWZWNCYUdlejhFZHcxZHlvOHVj?= =?utf-8?B?ZG1JMTFVakc1QkJQWFRiUE03cUI0TVZ0OWh3ZmluMWNwdWxLTjB5WUU3YWNq?= =?utf-8?B?cG1QNUMzOENpTkR2NEs4N3pSc3g4M1BQZXZIZjZjTVE0YnZBVGFTQVdIVCtI?= =?utf-8?B?cEhldGFob2xoQXZVbU13NnJGN2lWWXRMSk5RNGRmT1JQazJDc3dKZkxPWEVa?= =?utf-8?B?MkRLT3dBdzd3WGNVY2xrY2IwRkpzVloybTVkUGtPVU94OGl0TlJ6M2FMR0tP?= =?utf-8?B?Qlo4cU11UkFjNTBCbFltYTFkVGo5c0pJOUJ2ZWxNbDlpOWdqbGV5V2k3VXNU?= =?utf-8?B?bm8wclhRbVYzdnNTVWJvRCt2aTBmVWVvOUI0L05tdGV3SDBhNWNmSDVQTFFy?= =?utf-8?B?T2h0bE1lcUV3dWljV29FcGtLMEwrWm1FT0NlOHgrTDdpTHcwZzJIbXo1R3Fz?= =?utf-8?B?amFQRUpLNWZGcnV1dUNueHZGZGFkbERJWlI3RWwyd08vcExyYUZHNWd2S1l2?= =?utf-8?B?RUE2TGc2UVUrdmhBenNuN1I3RUNMWW5yKzNjT0pkcC8wb2tnSksvQ1liQ2I5?= =?utf-8?B?cnRkYXhlcXBpZU9uOVhvcDlNQzJPQjUvOVFlb2dVR0lLZy9xdFVCK09jOHE2?= =?utf-8?B?dldSa3RHdGZ3OWwwN1RWYzROc05GemdQazZhT1RPOS95amxWQTA2dnFxdVNk?= =?utf-8?B?ZkF2VXB6VzFOZk8vOWxxY2g2eEZiaEhVcy9oamZOOXVSdU51TU83Z2lXVzJ6?= =?utf-8?B?emExVGZrY2l6NTdLaEdyY2grNFRUOHJkOXVERnNuU0dOdW9VR1A2NjhWTmla?= =?utf-8?B?YVV5NDNpekswcENjbnI4Vy9NYkdZZloreklpUWhEb1FUSmJ5akFIMWphV0M2?= =?utf-8?B?Z1orN0xBUlJNZnNHUms3b0pnK3hzM2lrakZZTzBObi8wYzZlQU9kdkFORkRw?= =?utf-8?B?Ymt6NFJQWTZPUHZKbU9UU3lGYlBJUFdMSHhjTWZiUTI3bVFJdC9ZV3QxcGI2?= =?utf-8?B?YU9HeEZGUXdLL3VVeHdzNWFENFZscW1EZ2RiaGxOMGFadVhHOWYya3BjTkNB?= =?utf-8?B?S1Uwdm8zSFAyMnZHYkhac0loMllGa3ZhaW5KSVlrQ2xSNVp1dE1ZYzRIMEd6?= =?utf-8?B?cmk1M2VuU1ZRY3NRMWI3Z2M2RmMyL1haZ200Z0tic1AxSWtjcTczWHFGcGpl?= =?utf-8?B?NnZHZ3NndUVCakYxOEhsRHJUOVl3ZER0MnlseTNTSnJEU0t0bGlFNVRlNzJi?= =?utf-8?B?K05TN1RXRmM5SFE5Y1ZCb0NId2k0blFIQk5Pd3QrQ2U1ck5Oa2RGSmtvVi8w?= =?utf-8?B?bElzTHl0Uy9FWXpBSHovQ3FZQVB6OEl2M3liSHluMnlDa2RnT0ZSOWUxLzVS?= =?utf-8?B?aFNMTFBvNU95OVJpSHcwOUpiQWk4TzRJWnd4RlZHQ05QcFc0RUEwOFlpVWNu?= =?utf-8?B?UjA1NHBaUGZnWmpNYURER2YrY3pkOXlyQVhUVk1rck9YQmhSTld1M3NPa2t3?= =?utf-8?B?dFpSZkxpcjljYm42WEViR2gwK3JWSVp6Z3doMk9kK3R5aUJTc0trNUw5K0th?= =?utf-8?B?dmRITHVUUjR1dGFaay9xWUVtejlCTmlQaTZicDdoRFdXN081RDdOWHhwRjA3?= =?utf-8?B?YkJxelV0L0RLMFhmbGczbzZwWWtYS0xBbTJqcW80bUt2UDJWbVdQc2NDK1Qx?= =?utf-8?B?amVtYkhtUGs0OG0xTDlkSHY5YTZ5RmpwVXlycm9RQStFV2JPVHlFalZKb1Rs?= =?utf-8?B?cnFyK2JILzFuZXJ5R3A5OE9iRHExdmc2VlVzRDRMeUtsNityMzlQdEJsNGdG?= =?utf-8?B?WGlPRUJGZjQxOVJKcHlDS3RLbzNpK3RNSUlUMmxMY3pQSHkrcFJkS2NQTE4w?= =?utf-8?Q?NKUHY2K5xz673?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_44E9472D65D948DAAF20C0A82818C5CAdisneycom_" MIME-Version: 1.0 X-OriginatorOrg: disney.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6501.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15b374aa-3ff3-45b5-d06f-08d9703459e2 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Sep 2021 06:13:59.6620 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 56b731a8-a2ac-4c32-bf6b-616810e913c6 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: zv6weKPY12W3cbA1W82gOcdabrLxVjspgTkzbunMHJj44zXeTWbFJGbX1MifBTuaiF7WKID5VZC219oYDOvEhA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6550 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49822 X-Mailman-Approved-At: Sun, 05 Sep 2021 12:08:30 -0400 Cc: "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Stefan Monnier , "emacs-devel@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 (-) --_000_44E9472D65D948DAAF20C0A82818C5CAdisneycom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQpPbiBTZXAgNCwgMjAyMSwgYXQgMjo0OSBBTSwgQXVndXN0byBTdG9mZmVsIDxhcnN0b2ZmZWxA Z21haWwuY29tPG1haWx0bzphcnN0b2ZmZWxAZ21haWwuY29tPj4gd3JvdGU6DQoNCk9uIEZyaSwg IDMgU2VwIDIwMjEgYXQgMTk6MDQsIFN0ZWZhbiBNb25uaWVyIDxtb25uaWVyQGlyby51bW9udHJl YWwuY2E8bWFpbHRvOm1vbm5pZXJAaXJvLnVtb250cmVhbC5jYT4+IHdyb3RlOg0KDQogICBDaGFu Z2UgUHl0aG9uIGV2YWwgdG8gc2VuZCBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5nIHRlbXBvcmFy eSBmaWxlcw0KDQpGV0lXLCBzZW5kaW5nIGxhcmdlIGFtb3VudHMgb2YgdGV4dCB2aWEgcHR5IGNh biBiZSB0cm91Ymxlc29tZSAoc29tZQ0KT1NlcyBoYXZlIGJlZW4ga25vd24gdG8gaW5zZXJ0IGFk ZGl0aW9uYWwgY29udHJvbCBjaGFycyBldmVyeSAyNTYNCmJ5dGVzLCBvciB0byBkbyB3ZWlyZCB0 aGluZ3MgYWZ0ZXIgNDA5NiBieXRlcyBsZWFkaW5nIHRoZSBzZW5kIHRvIG5ldmVyDQpjb21wbGV0 ZSwgLi4uKSwgd2hpY2ggaXMgd2h5IGl0J3MgdmVyeSBjb21tb24gZm9yIGNvbWludCBtb2RlcyB0 byBzZW5kDQpyZWdpb25zIG9mIHRleHQgdmlhIHRlbXAgZmlsZXMuDQoNCg0KICAgICAgIFN0ZWZh bg0KDQpPa2F5LCB0aGUgNDA5NiBieXRlcyBsaW1pdCBpbmRlZWQgZXhpc3RzIGluIElQeXRob24g KGJ1dCBub3QgaW4gdGhlDQpzdGFuZGFyZCBQeXRob24gaW50ZXJwcmV0ZXJzLCBhcHBhcmVudGx5 KS4NCg0KSSd2ZSBhdHRhY2hlZCBhIHBhdGNoIHRoYXQgcmV2ZXJ0cyB0byB1c2luZyB0ZW1wb3Jh cnkgZmlsZXMgZm9yDQpzdWZmaWNpZW50bHkgbG9uZyBzdHJpbmdzICh3b3VsZCB0aGlzIG1hZ2lj IDQwOTYgZXZlciByZXF1aXJlDQpjdXN0b21pemF0aW9uPykuICBUaGUgcGF0Y2ggYWxzbyBzb2x2 ZXMgYnVnIzMyMDQyLCB3aGljaCBpcyBtb3N0bHkNCnVucmVsYXRlZC4NCg0KSSB3b3VsZCBsaWtl IHBhc3MgdGV4dCBpbmxpbmUgYXMgbXVjaCBhcyBwb3NzaWJsZSBiZWNhdXNlIHRoZQ0KYmFjay1h bmQtZm9ydGggb2YgdGVtcCBmaWxlcyBpcyBwcmV0dHkgc2xvdyBvdmVyIFRyYW1wLCB3aGljaCBt YWtlcyB0aGUNClB5dGhvbiBzaGVsbCByYXRoZXIgYW5ub3lpbmcgdG8gdXNlLg0KDQpBcyB0byBz b21lIE9TZXMgaW5zZXJ0aW5nIGFkZGl0aW9uYWwgY29udHJvbCBjaGFyYWN0ZXJzIGV2ZXJ5IDI1 NiBieXRlcywNCkkndmUgbmV2ZXIgZW5jb3VudGVyZWQgdGhpcywgYnV0IGl0IHNlZW1zIGEgcmF0 aGVyIHRyaWNreSBwcm9ibGVtIHRvDQp3b3JrIGFyb3VuZC4gIEJlZm9yZSB0aGlzIGNvbW1pdCwg dGhlICJwbHVtYmluZyBjb2RlIiBzZW50IHRvIHRoZQ0KaW50ZXJwcmV0ZXIgY291bGQgYWxyZWFk eSBiZSBhYm92ZSAyNTYgYnl0ZXMgKGUuZy4sIGlmIHRoZSBnZW5lcmF0ZWQNCnRlbXAgZmlsZSBu YW1lcyBhcmUgbW9kZXN0bHkgbG9uZykuICBJbnNlcnRpbmcgbmV3bGluZSBjaGFyYWN0ZXJzIGF0 DQpzdHJhdGVnaWMgcGxhY2VzIHdvdWxkIHByaW50IHJhbmRvbSBwcm9tcHQgc3RyaW5ncywgYW5k IHRoZXJlZm9yZSBhbHNvDQppbnRyb2R1Y2UgY29tcGxpY2F0aW9ucy4NCg0KPDAwMDEtRml4ZXMt Zm9yLXB5dGhvbi1zaGVsbC1zZW5kLXN0cmluZy1hbmQtcHl0aG9uLXNoZWxsLS5wYXRjaD4NCg0K VG9kYXkgSSB3YXMgdHJ5aW5nIHRvIGV4cG9ydCBteSBtb250aGx5IG9yZyBkb2N1bWVudCB0aGF0 IHVzZXMgb3JnIGJhYmVsIHB5dGhvbiBibG9ja3MgdG8gcHJvZHVjZSB0YWJsZXMuIEkgY2FuIGdl dCBpdCB0byBleHBvcnQgZmluZSBpZiBJIHJldmVydCBweXRob24uZWwgdG8gdGhlIHZlcnNpb24g YmVmb3JlIGUzMmM3ZDJhOGQgLSBDaGFuZ2UgUHl0aG9uIGV2YWwgdG8gc2VuZCBkaXJlY3RseSBp bnN0ZWFkIG9mIHVzaW5nIHRlbXBvcmFyeSBmaWxlcy4NCg0KQmVsb3cgSSBzaG93IHRoZSBweXRo b24gc2Vzc2lvbiBidWZmZXIsIGZpcnN0IHdoZXJlIGl0IGlzIHdvcmtpbmcgYW5kIHRoZW4gd2hl cmUgaXQgaXMgYnJva2VuIGZvciBtZS4gSeKAmW0gcnVubmluZyBFbWFjcyBvbiBtYWNPUyAxMS41 LjEgYW5kIGNvbXBpbGUgZnJvbSB0aGUgbWFzdGVyIGJyYW5jaC4NCg0KSW4gdGhlIOKAnEJyb2tl biBzZXNzaW9uIGJ1ZmZlcuKAnSBiZWxvdywgSSByZWNvZ25pemUgdGhlIGNvZGUgZnJvbSB0aGF0 IGNvbW1pdCwgYnV0IEkgcmVhbGx5IGRvbuKAmXQgdW5kZXJzdGFuZCB0aGUgcHJvYmxlbS4gQW55 IGlkZWFzIG9uIHdoYXQgb3RoZXIgaW5mb3JtYXRpb24gSSBjYW4gZ2F0aGVyIHRoYXQgd291bGQg YmUgdXNlZnVsPw0KDQoNCldvcmtpbmcgc2Vzc2lvbiBidWZmZXIgd2hlbiB1c2luZyBwcmV2aW91 cyBweXRob24uZWwgdG8gZXhwb3J0IGRvY3VtZW50DQoNClB5dGhvbiAzLjkuNiAoZGVmYXVsdCwg SnVuIDI5IDIwMjEsIDA1OjI1OjAyKQ0KW0NsYW5nIDEyLjAuNSAoY2xhbmctMTIwNS4wLjIyLjkp XSBvbiBkYXJ3aW4NClR5cGUgImhlbHAiLCAiY29weXJpZ2h0IiwgImNyZWRpdHMiIG9yICJsaWNl bnNlIiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4NCj4+PiBvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KPj4+ IHB5dGhvbi5lbDogbmF0aXZlIGNvbXBsZXRpb24gc2V0dXAgbG9hZGVkDQo+Pj4gb3JnX2JhYmVs X3B5dGhvbl9lb2UNCj4+PiBvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KPj4+IG9yZ19iYWJlbF9weXRo b25fZW9lDQo+Pj4gMjAyMS0wOC0yNG9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gb3JnX2JhYmVs X3B5dGhvbl9lb2UNCj4+PiBvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KPj4+IG9yZ19iYWJlbF9weXRo b25fZW9lDQo+Pj4gb3JnX2JhYmVsX3B5dGhvbl9lb2UNCj4+PiBvcmdfYmFiZWxfcHl0aG9uX2Vv ZQ0KPj4+IG9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gb3JnX2JhYmVsX3B5dGhvbl9lb2UNCj4+ PiBvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KPj4+IG9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gMjAy MS0wOC0yNG9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gMjAyMS0wOC0yNG9yZ19iYWJlbF9weXRo b25fZW9lDQo+Pj4gMjAyMS0wOC0yNG9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gMjAyMS0wOC0y NG9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gMjAyMS0wOC0yN29yZ19iYWJlbF9weXRob25fZW9l DQo+Pj4gMjAyMS0wOC0yN29yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gMjAyMS0wOC0yN29yZ19i YWJlbF9weXRob25fZW9lDQo+Pj4gMjAyMS0wOC0yN29yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4g MjAyMS0wOC0yN29yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gMjAyMS0wOC0yN29yZ19iYWJlbF9w eXRob25fZW9lDQo+Pj4NCg0KQnJva2VuIHNlc3Npb24gYnVmZmVyIHdpdGggY3VycmVudCBweXRo b24uZWwgaW4gZTMyYzdkMmE4ZA0KDQpQeXRob24gMy45LjYgKGRlZmF1bHQsIEp1biAyOSAyMDIx LCAwNToyNTowMikNCltDbGFuZyAxMi4wLjUgKGNsYW5nLTEyMDUuMC4yMi45KV0gb24gZGFyd2lu DQpUeXBlICJoZWxwIiwgImNvcHlyaWdodCIsICJjcmVkaXRzIiBvciAibGljZW5zZSIgZm9yIG1v cmUgaW5mb3JtYXRpb24uDQo+Pj4NCm9yZ19iYWJlbF9weXRob25fZW9lDQo+Pj4gICBGaWxlICI8 c3RkaW4+IiwgbGluZSAxDQogICAgZXhlYygiZGVmIF9fUFlUSE9OX0VMX2V2YWwoc291cmNlLCBm aWxlbmFtZSk6XG4gICAgaW1wb3J0IGFzdCwgc3lzXG4gICAgaWYgc3lzLnZlcnNpb25faW5mb1sw XSA9PSAyOlxuICAgICAgICBmcm9tIF9fYnVpbHRpbl9fIGltcG9ydCBjb21waWxlLCBldmFsLCBn bG9iYWxzXG4gICAgZWxzZTpcbiAgICAgICAgZnJvbSBidWlsdGlucyBpbXBvcnQgY29tcGlsZSwg ZXZhbCwgZ2xvYmFsc1xuICAgIHN5cy5zdGRvdXQud3JpdGUoJ1xcbicpXG4gICAgdHJ5OlxuICAg ICAgICBwLCBlID0gYXN0LnBhcnNlKHNvdXJjZSwgZmlsZW5hbWUpLCBOb25lXG4gICAgZXhjZXB0 IFN5bnRheEVycm9yOlxuICAgICAgICB0LCB2LCB0YiA9IHN5cy5leGNfaW5mbygpXG4gICAgICAg IHN5cy5leGNlcHRob29rKHQsIHYsIHRiLnRiX25leHQpXG4gICAgICAgIHJldHVyblxuICAgIGlm IHAuYm9keSBhbmQgaXNpbnN0YW5jZShwLmJvZHlbLTFdLCBhc3QuRXhwcik6XG4gICAgICAgIGUg PSBwLmJvZHkucG9wKClcbiAgICB0cnk6XG4gICAgICAgIGcgPSBnbG9iYWxzKClcbiAgICAgICAg ZXhlYyhjb21waWxlKHAsIGZpbGVuYW1lLCAnZXhlYycpLCBnLCBnKVxuICAgICAgICBpZiBlOlxu ICAgICAgICAgICAgcmV0dXJuIGV2YWwoY29tcGlsZShhc3QuRXhwcmVzc2lvbihlLnZhbHVlKSwg ZmlsZW5hbWUsICdldmFsJyksIGcsIGcpXG4gICAgZXhjZXB0IEV4Y2VwdGlvbjpcbiAgICAgICAg dCwgdiwgdGIgPSBzeXMuZXhjX2luZm8oKVxuICAgICAgICBzeXMuZXhjZXB0aG9vayh0LCB2LCB0 Yi50Yl9uZXh0KSIpO19fUFlUSE9OX0VMX2V2YWwoIlxuZGVmIF9fUFlUSE9OX0VMX25hdGl2ZV9j b21wbGV0aW9uX3NldHVwKCk6XG4gICAgdHJ5OlxuICAgICAgICBpbXBvcnQgcmVhZGxpbmVcblxu ICAgICAgICB0cnk6XG4gICAgICAgICAgICBpbXBvcnQgX19idWlsdGluX19cbiAgICAgICAgZXhj ZXB0IEltcG9ydEVycm9yOlxuICAgICAgICAgICAgIyBQeXRob24gM1xuICAgICAgICAgICAgaW1w b3J0IGJ1aWx0aW5zIGFzIF9fYmV4ZWMoImRlZiBfX1BZVEhPTl9FTF9ldmFsKHNvdXJjZSwgZmls ZW5hbWUpOlxuICAgIGltcG9ydCBhc3QsIHN5c1xuICAgIGlmIHN5cy52ZXJzaW9uX2luZm9bMF0g PT0gMjpcbiAgICAgICAgZnJvbSBfX2J1aWx0aW5fXyBpbXBvcnQgY29tcGlsZSwgZXZhbCwgZ2xv YmFsc1xuICAgIGVsc2U6XG4gICAgICAgIGZyb20gYnVpbHRpbnMgaW1wb3J0IGNvbXBpbGUsIGV2 YWwsIGdsb2JhbHNcbiAgICBzeXMuc3Rkb3V0LndyaXRlKCdcXG4nKVxuICAgIHRyeTpcbiAgICAg ICAgcCwgZSA9IGFzdC5wYXJzZShzb3VyY2UsIGZpbGVuYW1lKSwgTm9uZVxuICAgIGV4Y2VwdCBT eW50YXhFcnJvcjpcbiAgICAgICAgdCwgdiwgdGIgPSBzeXMuZXhjX2luZm8oKVxuICAgICAgICBz eXMuZXhjZXB0aG9vayh0LCB2LCB0Yi50Yl9uZXh0KVxuICAgICAgICByZXR1cm5cbiAgICBpZiBw LmJvZHkgYW5kIGlzaW5zdGFuY2UocC5ib2R5Wy0xXSwgYXN0LkV4cHIpOlxuICAgICAgICBlID0g cC5ib2R5LnBvcCgpXG4gICAgdHJ5OlxuICAgICAgICBnID0gZ2xvYmFscygpXG4gICAgICAgIGV4 ZWMoY29tcGlsZShwLCBmaWxlbmFtZSwgJ2V4ZWMnKSwgZywgZylcbiAgICAgICAgaWYgZTpcbiAg ICAgICAgICAgIHJldHVybiBldmFsKGNvbXBpbGUoYXN0LkV4cHJlc3Npb24oZS52YWx1ZSksIGZp bGVuYW1lLCAnZXZhbCcpLCBnLCBnKVxuICAgIGV4Y2VwdCBFeGNlcHRpb246XG4gICAgICAgIHQs IHYsIHRiID0gc3lzLmV4Y19pbmZvKClcbiAgICAgICAgc3lzLmV4Y2VwdGhvb2sodCwgdiwgdGIu dGJfbmV4dCkiKTtfX1BZVEhPTl9FTF9ldmFsKCJ0cnk6XG4gICAgaW1wb3J0IGFzdFxuICAgIHdp dGggb3BlbignL3Zhci9mb2xkZXJzL2tmL3pkcHpnczlkMzBiM2pqNGJka2RqZjF2dzAwMDBnbi9U L2JhYmVsLVZNejVZWS9weXRob24tWG15NW9UJykgYXMgX19vcmdfYmFiZWxfcHl0aG9uX3RtcGZp bGU6XG4gICAgICAgIF9fb3JnX2JhYmVsX3B5dGhvbl9hc3QgPSBhc3QucGFyc2UoX19vcmdfYmFi ZWxfcHl0aG9uX3RtcGZpbGUucmVhZCgpKVxuICAgIF9fb3JnX2JhYmVsX3B5dGhvbl9maW5hbCA9 IF9fb3JnX2JhYmVsX3B5dGhvbl9hc3QuYm9keVstMV1cbiAgICBpZiBpc2luc3RhbmNlKF9fb3Jn X2JhYmVsX3B5dGhvbl9maW5hbCwgYXN0LkV4cHIpOlxuICAgICAgICBfX29yZ19iYWJlbF9weXRo b25fYXN0LmJvZHkgPSBfX29yZ19iYWJlbF9weXRob25fYXN0LmJvZHlbOi0xXVxuICAgICAgICBl eGVjKGNvbXBpbGUoX19vcmdfYmFiZWxfcHl0aG9uX2FzdCwgJzxzdHJpbmc+JywgJ2V4ZWMnKSlc biAgICAgICAgX19vcmdfYmFiZWxfcHl0aG9uX2ZpbmFsID0gZXZhbChjb21waWxlKGFzdC5FeHBy ZXNzaW9uKFxuICAgICAgICAgICAgX19vcmdfYmFiZWxfcHl0aG9uX2ZpbmFsLnZhbHVlKSwgJzxz dHJpbmc+JywgJ2V2YWwnKSlcbiAgICAgICAgd2l0aCBvcGVuKCcvdmFyL2ZvbGRlcnMva2YvemRw emdzOWQzMGIzamo0YmRrZGpmMXZ3MDAwMGduL1QvYmFiZWwtVk16NVlZL3B5dGhvbi1oelBCS2sn LCAndycpIGFzIF9fb3JnX2JhYmVsX3B5dGhvbl90bXBmaWxlOlxuICAgICAgICAgICAgaWYgRmFs c2U6XG4gICAgICAgICAgICAgICAgaW1wb3J0IHBwcmludFxuICAgICAgICAgICAgICAgIF9fb3Jn X2JhYmVsX3B5dGhvbl90bXBmaWxlLndyaXRlKHBwcmludC5wZm9ybWF0KF9fb3JnX2JhYmVsX3B5 dGhvbl9maW5hbCkpXG4gICAgICAgICAgICBlbHNlOlxuICAgICAgICAgICAgICAgIF9fb3JnX2Jh YmVsX3B5dGhvbl90bXBmaWxlLndyaXRlKHN0cihfX29yZ19iYWJlbF9weXRob25fZmluYWwpKVxu ICAgIGVsc2U6XG4gICAgICAgIGV4ZWMoY29tcGlsZShfX29yZ19iYWJlbF9weXRob25fYXN0LCAn PHN0cmluZz4nLCAnZXhlYycpKVxuICAgICAgICBfX29yZ19iYWJlbF9weXRob25fZmluYWwgPSBO b25lXG5leGNlcHQ6XG4gICAgcmFpc2VcbmZpbmFsbHk6XG4gICAgcHJpbnQoJ29yZ19iYWJlbF9w eXRob25fZW9lJykiLCAiPHN0cmluZz4iKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpTeW50YXhFcnJvcjogaW52YWxp ZCBzeW50YXgNCj4+Pg0Kb3JnX2JhYmVsX3B5dGhvbl9lb2UNClRyYWNlYmFjayAobW9zdCByZWNl bnQgY2FsbCBsYXN0KToNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDE4LCBpbiBfX1BZVEhPTl9F TF9ldmFsDQogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSA4LCBpbiA8bW9kdWxlPg0KICBGaWxlICI8 c3RyaW5nPiIsIGxpbmUgMywgaW4gPG1vZHVsZT4NCk5hbWVFcnJvcjogbmFtZSAnZGZNZW1iZXJz aGlwJyBpcyBub3QgZGVmaW5lZA0KPj4+DQpvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KVHJhY2ViYWNr IChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMTgsIGlu IF9fUFlUSE9OX0VMX2V2YWwNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDgsIGluIDxtb2R1bGU+ DQogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAyLCBpbiA8bW9kdWxlPg0KTmFtZUVycm9yOiBuYW1l ICdkZk1lbWJlcnNoaXAnIGlzIG5vdCBkZWZpbmVkDQo+Pj4NCjIwMjEtMDgtMjRvcmdfYmFiZWxf cHl0aG9uX2VvZQ0KPj4+DQpvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KVHJhY2ViYWNrIChtb3N0IHJl Y2VudCBjYWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMTgsIGluIF9fUFlUSE9O X0VMX2V2YWwNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDgsIGluIDxtb2R1bGU+DQogIEZpbGUg IjxzdHJpbmc+IiwgbGluZSAyLCBpbiA8bW9kdWxlPg0KTmFtZUVycm9yOiBuYW1lICdkZllQVGRh dGEnIGlzIG5vdCBkZWZpbmVkDQo+Pj4NCm9yZ19iYWJlbF9weXRob25fZW9lDQpUcmFjZWJhY2sg KG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAxOCwgaW4g X19QWVRIT05fRUxfZXZhbA0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgOCwgaW4gPG1vZHVsZT4N CiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDIsIGluIDxtb2R1bGU+DQpOYW1lRXJyb3I6IG5hbWUg J2RmVHJhaW5pbmdScHQnIGlzIG5vdCBkZWZpbmVkDQo+Pj4NCm9yZ19iYWJlbF9weXRob25fZW9l DQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJpbmc+Iiwg bGluZSAxOCwgaW4gX19QWVRIT05fRUxfZXZhbA0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgOCwg aW4gPG1vZHVsZT4NCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDIsIGluIDxtb2R1bGU+DQpOYW1l RXJyb3I6IG5hbWUgJ2RmU2NvdXRib29rU2NvdXRzUkInIGlzIG5vdCBkZWZpbmVkDQo+Pj4NCm9y Z19iYWJlbF9weXRob25fZW9lDQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQog IEZpbGUgIjxzdHJpbmc+IiwgbGluZSAxOCwgaW4gX19QWVRIT05fRUxfZXZhbA0KICBGaWxlICI8 c3RyaW5nPiIsIGxpbmUgOCwgaW4gPG1vZHVsZT4NCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDMs IGluIDxtb2R1bGU+DQpOYW1lRXJyb3I6IG5hbWUgJ2RmQ29tcGFyZVNCd2l0aFRNJyBpcyBub3Qg ZGVmaW5lZA0KPj4+DQpvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KVHJhY2ViYWNrIChtb3N0IHJlY2Vu dCBjYWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMTgsIGluIF9fUFlUSE9OX0VM X2V2YWwNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDgsIGluIDxtb2R1bGU+DQogIEZpbGUgIjxz dHJpbmc+IiwgbGluZSAxLCBpbiA8bW9kdWxlPg0KTmFtZUVycm9yOiBuYW1lICdkZkFkdkRhdGEn IGlzIG5vdCBkZWZpbmVkDQo+Pj4NCm9yZ19iYWJlbF9weXRob25fZW9lDQpUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAxOCwgaW4gX19Q WVRIT05fRUxfZXZhbA0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgOCwgaW4gPG1vZHVsZT4NCiAg RmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpOYW1lRXJyb3I6IG5hbWUgJ2Rm U2NvdXRib29rU2NvdXRzUkInIGlzIG5vdCBkZWZpbmVkDQo+Pj4NCm9yZ19iYWJlbF9weXRob25f ZW9lDQpUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6DQogIEZpbGUgIjxzdHJpbmc+ IiwgbGluZSAxOCwgaW4gX19QWVRIT05fRUxfZXZhbA0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUg OCwgaW4gPG1vZHVsZT4NCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDEsIGluIDxtb2R1bGU+DQpO YW1lRXJyb3I6IG5hbWUgJ2RmQ29tcGFyZVNCd2l0aFRNJyBpcyBub3QgZGVmaW5lZA0KPj4+DQpv cmdfYmFiZWxfcHl0aG9uX2VvZQ0KVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOg0K ICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMTgsIGluIF9fUFlUSE9OX0VMX2V2YWwNCiAgRmlsZSAi PHN0cmluZz4iLCBsaW5lIDgsIGluIDxtb2R1bGU+DQogIEZpbGUgIjxzdHJpbmc+IiwgbGluZSAz LCBpbiA8bW9kdWxlPg0KTmFtZUVycm9yOiBuYW1lICdkZlNjb3V0Ym9va1Njb3V0c1JCJyBpcyBu b3QgZGVmaW5lZA0KPj4+DQpvcmdfYmFiZWxfcHl0aG9uX2VvZQ0KVHJhY2ViYWNrIChtb3N0IHJl Y2VudCBjYWxsIGxhc3QpOg0KICBGaWxlICI8c3RyaW5nPiIsIGxpbmUgMTgsIGluIF9fUFlUSE9O X0VMX2V2YWwNCiAgRmlsZSAiPHN0cmluZz4iLCBsaW5lIDgsIGluIDxtb2R1bGU+DQogIEZpbGUg IjxzdHJpbmc+IiwgbGluZSAyMiwgaW4gPG1vZHVsZT4NCk5hbWVFcnJvcjogbmFtZSAnZGZBZHZE YXRhJyBpcyBub3QgZGVmaW5lZA0KPj4+DQoNCg== --_000_44E9472D65D948DAAF20C0A82818C5CAdisneycom_ Content-Type: text/html; charset="utf-8" Content-ID: <8C8A7BB9004C6847B9BB942046FEC1AA@namprd03.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0 ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxkaXY+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRl IiBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KT24gU2VwIDQsIDIwMjEs IGF0IDI6NDkgQU0sIEF1Z3VzdG8gU3RvZmZlbCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmFyc3RvZmZl bEBnbWFpbC5jb20iIGNsYXNzPSIiPmFyc3RvZmZlbEBnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8 L2Rpdj4NCjxiciBjbGFzcz0iQXBwbGUtaW50ZXJjaGFuZ2UtbmV3bGluZSI+DQo8ZGl2IGNsYXNz PSIiPg0KPGRpdiBjbGFzcz0iIj5PbiBGcmksICZuYnNwOzMgU2VwIDIwMjEgYXQgMTk6MDQsIFN0 ZWZhbiBNb25uaWVyICZsdDs8YSBocmVmPSJtYWlsdG86bW9ubmllckBpcm8udW1vbnRyZWFsLmNh IiBjbGFzcz0iIj5tb25uaWVyQGlyby51bW9udHJlYWwuY2E8L2E+Jmd0OyB3cm90ZTo8YnIgY2xh c3M9IiI+DQo8YnIgY2xhc3M9IiI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjbGFzcz0iIj4N CjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSIiPiZuYnNwOyZuYnNwOyZuYnNwO0NoYW5n ZSBQeXRob24gZXZhbCB0byBzZW5kIGRpcmVjdGx5IGluc3RlYWQgb2YgdXNpbmcgdGVtcG9yYXJ5 IGZpbGVzPGJyIGNsYXNzPSIiPg0KPC9ibG9ja3F1b3RlPg0KPGJyIGNsYXNzPSIiPg0KRldJVywg c2VuZGluZyBsYXJnZSBhbW91bnRzIG9mIHRleHQgdmlhIHB0eSBjYW4gYmUgdHJvdWJsZXNvbWUg KHNvbWU8YnIgY2xhc3M9IiI+DQpPU2VzIGhhdmUgYmVlbiBrbm93biB0byBpbnNlcnQgYWRkaXRp b25hbCBjb250cm9sIGNoYXJzIGV2ZXJ5IDI1NjxiciBjbGFzcz0iIj4NCmJ5dGVzLCBvciB0byBk byB3ZWlyZCB0aGluZ3MgYWZ0ZXIgNDA5NiBieXRlcyBsZWFkaW5nIHRoZSBzZW5kIHRvIG5ldmVy PGJyIGNsYXNzPSIiPg0KY29tcGxldGUsIC4uLiksIHdoaWNoIGlzIHdoeSBpdCdzIHZlcnkgY29t bW9uIGZvciBjb21pbnQgbW9kZXMgdG8gc2VuZDxiciBjbGFzcz0iIj4NCnJlZ2lvbnMgb2YgdGV4 dCB2aWEgdGVtcCBmaWxlcy48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9 IiI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtTdGVmYW48YnIg Y2xhc3M9IiI+DQo8L2Jsb2NrcXVvdGU+DQo8YnIgY2xhc3M9IiI+DQpPa2F5LCB0aGUgNDA5NiBi eXRlcyBsaW1pdCBpbmRlZWQgZXhpc3RzIGluIElQeXRob24gKGJ1dCBub3QgaW4gdGhlPGJyIGNs YXNzPSIiPg0Kc3RhbmRhcmQgUHl0aG9uIGludGVycHJldGVycywgYXBwYXJlbnRseSkuPGJyIGNs YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KSSd2ZSBhdHRhY2hlZCBhIHBhdGNoIHRoYXQgcmV2ZXJ0 cyB0byB1c2luZyB0ZW1wb3JhcnkgZmlsZXMgZm9yPGJyIGNsYXNzPSIiPg0Kc3VmZmljaWVudGx5 IGxvbmcgc3RyaW5ncyAod291bGQgdGhpcyBtYWdpYyA0MDk2IGV2ZXIgcmVxdWlyZTxiciBjbGFz cz0iIj4NCmN1c3RvbWl6YXRpb24/KS4gJm5ic3A7VGhlIHBhdGNoIGFsc28gc29sdmVzIGJ1ZyMz MjA0Miwgd2hpY2ggaXMgbW9zdGx5PGJyIGNsYXNzPSIiPg0KdW5yZWxhdGVkLjxiciBjbGFzcz0i Ij4NCjxiciBjbGFzcz0iIj4NCkkgd291bGQgbGlrZSBwYXNzIHRleHQgaW5saW5lIGFzIG11Y2gg YXMgcG9zc2libGUgYmVjYXVzZSB0aGU8YnIgY2xhc3M9IiI+DQpiYWNrLWFuZC1mb3J0aCBvZiB0 ZW1wIGZpbGVzIGlzIHByZXR0eSBzbG93IG92ZXIgVHJhbXAsIHdoaWNoIG1ha2VzIHRoZTxiciBj bGFzcz0iIj4NClB5dGhvbiBzaGVsbCByYXRoZXIgYW5ub3lpbmcgdG8gdXNlLjxiciBjbGFzcz0i Ij4NCjxiciBjbGFzcz0iIj4NCkFzIHRvIHNvbWUgT1NlcyBpbnNlcnRpbmcgYWRkaXRpb25hbCBj b250cm9sIGNoYXJhY3RlcnMgZXZlcnkgMjU2IGJ5dGVzLDxiciBjbGFzcz0iIj4NCkkndmUgbmV2 ZXIgZW5jb3VudGVyZWQgdGhpcywgYnV0IGl0IHNlZW1zIGEgcmF0aGVyIHRyaWNreSBwcm9ibGVt IHRvPGJyIGNsYXNzPSIiPg0Kd29yayBhcm91bmQuICZuYnNwO0JlZm9yZSB0aGlzIGNvbW1pdCwg dGhlICZxdW90O3BsdW1iaW5nIGNvZGUmcXVvdDsgc2VudCB0byB0aGU8YnIgY2xhc3M9IiI+DQpp bnRlcnByZXRlciBjb3VsZCBhbHJlYWR5IGJlIGFib3ZlIDI1NiBieXRlcyAoZS5nLiwgaWYgdGhl IGdlbmVyYXRlZDxiciBjbGFzcz0iIj4NCnRlbXAgZmlsZSBuYW1lcyBhcmUgbW9kZXN0bHkgbG9u ZykuICZuYnNwO0luc2VydGluZyBuZXdsaW5lIGNoYXJhY3RlcnMgYXQ8YnIgY2xhc3M9IiI+DQpz dHJhdGVnaWMgcGxhY2VzIHdvdWxkIHByaW50IHJhbmRvbSBwcm9tcHQgc3RyaW5ncywgYW5kIHRo ZXJlZm9yZSBhbHNvPGJyIGNsYXNzPSIiPg0KaW50cm9kdWNlIGNvbXBsaWNhdGlvbnMuPGJyIGNs YXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPHNwYW4gaWQ9ImNpZDpGM0E0RDA1Ny0xOTE4LTRGOTgt ODY2OS0zM0MzODE2MUZEQzYiPiZsdDswMDAxLUZpeGVzLWZvci1weXRob24tc2hlbGwtc2VuZC1z dHJpbmctYW5kLXB5dGhvbi1zaGVsbC0ucGF0Y2gmZ3Q7PC9zcGFuPjwvZGl2Pg0KPC9kaXY+DQo8 L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9IiI+VG9kYXkg SSB3YXMgdHJ5aW5nIHRvIGV4cG9ydCBteSBtb250aGx5IG9yZyBkb2N1bWVudCB0aGF0IHVzZXMg b3JnIGJhYmVsIHB5dGhvbiBibG9ja3MgdG8gcHJvZHVjZSB0YWJsZXMuIEkgY2FuIGdldCBpdCB0 byBleHBvcnQgZmluZSBpZiBJIHJldmVydCBweXRob24uZWwgdG8gdGhlIHZlcnNpb24gYmVmb3Jl Jm5ic3A7PHNwYW4gc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBUaW1l czsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQt c3Ryb2tlLXdpZHRoOiBpbml0aWFsOyIgY2xhc3M9IiI+ZTMyYzdkMmE4ZA0KIC0gQ2hhbmdlIFB5 dGhvbiBldmFsIHRvIHNlbmQgZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyB0ZW1wb3JhcnkgZmls ZXMuPC9zcGFuPjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iY29sb3I6IHJnYigw LCAwLCAwKTsgZm9udC1mYW1pbHk6IFRpbWVzOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiBy Z2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IiBjbGFzcz0i Ij48YnIgY2xhc3M9IiI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGNvbG9y PSIjMDAwMDAwIiBmYWNlPSJUaW1lcyIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9Ii13ZWJraXQtdGV4 dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDog aW5pdGlhbDsiIGNsYXNzPSIiPkJlbG93IEkgc2hvdyB0aGUgcHl0aG9uIHNlc3Npb24gYnVmZmVy LCBmaXJzdCB3aGVyZSBpdCBpcyB3b3JraW5nIGFuZCB0aGVuIHdoZXJlIGl0IGlzIGJyb2tlbiBm b3IgbWUuDQogSTwvc3Bhbj48c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsg LXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+4oCZPC9z cGFuPjxzcGFuIHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7 IC13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IiBjbGFzcz0iIj5tIHJ1bm5pbmcg RW1hY3Mgb24mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwg MCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPm1h Y09TDQogMTEuNS4xIGFuZCBjb21waWxlIGZyb20gdGhlIG1hc3RlciBicmFuY2guPC9zcGFuPjwv Zm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IlRp bWVzIiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgLXdl YmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+PGJyIGNsYXNz PSIiPg0KPC9zcGFuPjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgY29sb3I9IiMw MDAwMDAiIGZhY2U9IlRpbWVzIiBjbGFzcz0iIj5JbiB0aGUmbmJzcDvigJxCcm9rZW4gc2Vzc2lv biBidWZmZXLigJ0gYmVsb3csIEkgcmVjb2duaXplIHRoZSBjb2RlIGZyb20gdGhhdCBjb21taXQs IGJ1dCBJIHJlYWxseSBkb27igJl0IHVuZGVyc3RhbmQgdGhlIHByb2JsZW0uIEFueSBpZGVhcyBv biB3aGF0IG90aGVyIGluZm9ybWF0aW9uIEkgY2FuIGdhdGhlciB0aGF0IHdvdWxkIGJlIHVzZWZ1 bD88L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGNvbG9yPSIjMDAwMDAwIiBmYWNl PSJUaW1lcyIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPg0KPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFz cz0iIj4NCjxwIHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJn aW46IDBweCAwcHggMTRweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGZvbnQtc2l6ZTogMTRweDsg bGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IFRpbWVzOyBjb2xvcjogcmdiKDAsIDAs IDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4N CjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPjxiIGNs YXNzPSIiPldvcmtpbmcgc2Vzc2lvbiBidWZmZXIgd2hlbiB1c2luZyBwcmV2aW91cyBweXRob24u ZWwgdG8gZXhwb3J0IGRvY3VtZW50PC9iPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSItd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBu b3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjog cmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBj bGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNz PSIiPlB5dGhvbiAzLjkuNiAoZGVmYXVsdCwgSnVuIDI5IDIwMjEsIDA1OjI1OjAyKSZuYnNwOzwv c3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRp YWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1h bDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4 dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13 ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+W0NsYW5nIDEyLjAuNSAoY2xhbmct MTIwNS4wLjIyLjkpXSBvbiBkYXJ3aW48L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBu b3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjog cmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBj bGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNz PSIiPlR5cGUgJnF1b3Q7aGVscCZxdW90OywgJnF1b3Q7Y29weXJpZ2h0JnF1b3Q7LCAmcXVvdDtj cmVkaXRzJnF1b3Q7IG9yICZxdW90O2xpY2Vuc2UmcXVvdDsgZm9yIG1vcmUgaW5mb3JtYXRpb24u PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5p dGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9y bWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10 ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0i LXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4mZ3Q7Jmd0OyZndDsgb3JnX2Jh YmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ry b2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxp bmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAs IDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4N CjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZndDsm Z3Q7Jmd0OyBweXRob24uZWw6IG5hdGl2ZSBjb21wbGV0aW9uIHNldHVwIGxvYWRlZDwvc3Bhbj48 L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1h cmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9u dC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJv a2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQt Zm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IG9yZ19iYWJlbF9weXRo b25fZW9lPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0 aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdo dDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdl YmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBz dHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4mZ3Q7Jmd0OyZndDsg b3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRl eHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3Jt YWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdi KDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFz cz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIi PiZndDsmZ3Q7Jmd0OyBvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5 bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250 LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJp ZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigw LCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBu b25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjRvcmdfYmFiZWxfcHl0aG9uX2Vv ZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGlu aXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5v cm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQt dGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9 Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IG9yZ19i YWJlbF9weXRob25fZW9lPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0 cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBs aW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAw LCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+ DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4mZ3Q7 Jmd0OyZndDsgb3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyBvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4N CjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjog MHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29s b3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1r ZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IG9yZ19iYWJlbF9weXRob25fZW9l PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5p dGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9y bWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10 ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0i LXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4mZ3Q7Jmd0OyZndDsgb3JnX2Jh YmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ry b2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxp bmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAs IDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4N CjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZndDsm Z3Q7Jmd0OyBvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IG9yZ19iYWJlbF9weXRob25fZW9lPC9zcGFuPjwvZGl2Pg0K PGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAw cHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWls eTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xv cjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtl cm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4mZ3Q7Jmd0OyZndDsgb3JnX2JhYmVsX3B5dGhvbl9lb2U8 L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0 aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3Jt YWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRl eHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSIt d2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyBvcmdfYmFi ZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJv a2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGlu ZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwg MCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0K PHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZn dDsmZ3Q7IDIwMjEtMDgtMjRvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYg c3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBm b250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENv dXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJn YigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5n OiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjRvcmdfYmFiZWxfcHl0aG9u X2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6 IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6 IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJr aXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5 bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIw MjEtMDgtMjRvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjRvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjdv cmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4 dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1h bDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2Io MCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNz PSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+ Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjdvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4N CjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjog MHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29s b3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1r ZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjdvcmdfYmFiZWxf cHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNw YW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsm Z3Q7IDIwMjEtMDgtMjdvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5 bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250 LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJp ZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigw LCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBu b25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEtMDgtMjdvcmdfYmFiZWxfcHl0aG9uX2Vv ZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGlu aXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5v cm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQt dGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9 Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7IDIwMjEt MDgtMjdvcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJr aXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6 IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9y OiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsi IGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xh c3M9IiI+Jmd0OyZndDsmZ3Q7PC9zcGFuPjwvZGl2Pg0KPHAgc3R5bGU9Ii13ZWJraXQtdGV4dC1z dHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4IDBweCAxNHB4OyBmb250LXN0cmV0Y2g6 IG5vcm1hbDsgZm9udC1zaXplOiAxNHB4OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWls eTogVGltZXM7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6 IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJu aW5nOiBub25lOyIgY2xhc3M9IiI+PGIgY2xhc3M9IiI+QnJva2VuIHNlc3Npb24gYnVmZmVyIHdp dGggY3VycmVudCBweXRob24uZWwgaW4mbmJzcDs8L2I+PC9zcGFuPmUzMmM3ZDJhOGQ8L3A+DQo8 ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBw eDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5 OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9y OiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2Vy bmluZzogbm9uZTsiIGNsYXNzPSIiPlB5dGhvbiAzLjkuNiAoZGVmYXVsdCwgSnVuIDI5IDIwMjEs IDA1OjI1OjAyKSZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1z dHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsg bGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwg MCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIi Pg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+W0Ns YW5nIDEyLjAuNSAoY2xhbmctMTIwNS4wLjIyLjkpXSBvbiBkYXJ3aW48L3NwYW4+PC9kaXY+DQo8 ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBw eDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5 OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9y OiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2Vy bmluZzogbm9uZTsiIGNsYXNzPSIiPlR5cGUgJnF1b3Q7aGVscCZxdW90OywgJnF1b3Q7Y29weXJp Z2h0JnF1b3Q7LCAmcXVvdDtjcmVkaXRzJnF1b3Q7IG9yICZxdW90O2xpY2Vuc2UmcXVvdDsgZm9y IG1vcmUgaW5mb3JtYXRpb24uPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0 LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFs OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigw LCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9 IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4m Z3Q7Jmd0OyZndDsmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQt c3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7 IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAs IDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0i Ij4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPm9y Z19iYWJlbF9weXRob25fZW9lPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0 LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFs OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigw LCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9 IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4m Z3Q7Jmd0OyZndDsmbmJzcDsmbmJzcDsmbmJzcDtGaWxlICZxdW90OyZsdDtzdGRpbiZndDsmcXVv dDssIGxpbmUgMTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNw YW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7ICZu YnNwOyZuYnNwO2V4ZWMoJnF1b3Q7ZGVmIF9fUFlUSE9OX0VMX2V2YWwoc291cmNlLCBmaWxlbmFt ZSk6XG4mbmJzcDsgJm5ic3A7Jm5ic3A7aW1wb3J0IGFzdCwgc3lzXG4mbmJzcDsgJm5ic3A7Jm5i c3A7aWYgc3lzLnZlcnNpb25faW5mb1swXSA9PSAyOlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7Jm5ic3A7ZnJvbSBfX2J1aWx0aW5fXyBpbXBvcnQgY29tcGlsZSwgZXZhbCwgZ2xvYmFsc1xu Jm5ic3A7ICZuYnNwOyZuYnNwO2Vsc2U6XG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJz cDtmcm9tIGJ1aWx0aW5zIGltcG9ydCBjb21waWxlLA0KIGV2YWwsIGdsb2JhbHNcbiZuYnNwOyAm bmJzcDsmbmJzcDtzeXMuc3Rkb3V0LndyaXRlKCdcXG4nKVxuJm5ic3A7ICZuYnNwOyZuYnNwO3Ry eTpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO3AsIGUgPSBhc3QucGFyc2Uoc291 cmNlLCBmaWxlbmFtZSksIE5vbmVcbiZuYnNwOyAmbmJzcDsmbmJzcDtleGNlcHQgU3ludGF4RXJy b3I6XG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDt0LCB2LCB0YiA9IHN5cy5leGNf aW5mbygpXG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtzeXMuZXhjZXB0aG9vayh0 LCB2LCB0Yi50Yl9uZXh0KVxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7cmV0dXJu XG4mbmJzcDsgJm5ic3A7Jm5ic3A7aWYgcC5ib2R5IGFuZCBpc2luc3RhbmNlKHAuYm9keVstMV0s DQogYXN0LkV4cHIpOlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7ZSA9IHAuYm9k eS5wb3AoKVxuJm5ic3A7ICZuYnNwOyZuYnNwO3RyeTpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyZuYnNwO2cgPSBnbG9iYWxzKClcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNw O2V4ZWMoY29tcGlsZShwLCBmaWxlbmFtZSwgJ2V4ZWMnKSwgZywgZylcbiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyZuYnNwO2lmIGU6XG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyZuYnNwO3JldHVybiBldmFsKGNvbXBpbGUoYXN0LkV4cHJlc3Npb24oZS52YWx1 ZSksIGZpbGVuYW1lLCAnZXZhbCcpLCBnLCBnKVxuJm5ic3A7ICZuYnNwOyZuYnNwO2V4Y2VwdCBF eGNlcHRpb246XG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDt0LCB2LA0KIHRiID0g c3lzLmV4Y19pbmZvKClcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO3N5cy5leGNl cHRob29rKHQsIHYsIHRiLnRiX25leHQpJnF1b3Q7KTtfX1BZVEhPTl9FTF9ldmFsKCZxdW90O1xu ZGVmIF9fUFlUSE9OX0VMX25hdGl2ZV9jb21wbGV0aW9uX3NldHVwKCk6XG4mbmJzcDsgJm5ic3A7 Jm5ic3A7dHJ5OlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7aW1wb3J0IHJlYWRs aW5lXG5cbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO3RyeTpcbiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7aW1wb3J0IF9fYnVpbHRpbl9fXG4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtleGNlcHQgSW1wb3J0RXJyb3I6XG4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwOyMgUHl0aG9uDQogM1xu Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtpbXBvcnQgYnVp bHRpbnMgYXMgX19iZXhlYygmcXVvdDtkZWYgX19QWVRIT05fRUxfZXZhbChzb3VyY2UsIGZpbGVu YW1lKTpcbiZuYnNwOyAmbmJzcDsmbmJzcDtpbXBvcnQgYXN0LCBzeXNcbiZuYnNwOyAmbmJzcDsm bmJzcDtpZiBzeXMudmVyc2lvbl9pbmZvWzBdID09IDI6XG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsmbmJzcDtmcm9tIF9fYnVpbHRpbl9fIGltcG9ydCBjb21waWxlLCBldmFsLCBnbG9iYWxz XG4mbmJzcDsgJm5ic3A7Jm5ic3A7ZWxzZTpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZu YnNwO2Zyb20gYnVpbHRpbnMgaW1wb3J0IGNvbXBpbGUsIGV2YWwsIGdsb2JhbHNcbiZuYnNwOw0K ICZuYnNwOyZuYnNwO3N5cy5zdGRvdXQud3JpdGUoJ1xcbicpXG4mbmJzcDsgJm5ic3A7Jm5ic3A7 dHJ5OlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7cCwgZSA9IGFzdC5wYXJzZShz b3VyY2UsIGZpbGVuYW1lKSwgTm9uZVxuJm5ic3A7ICZuYnNwOyZuYnNwO2V4Y2VwdCBTeW50YXhF cnJvcjpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO3QsIHYsIHRiID0gc3lzLmV4 Y19pbmZvKClcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO3N5cy5leGNlcHRob29r KHQsIHYsIHRiLnRiX25leHQpXG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtyZXR1 cm5cbiZuYnNwOyAmbmJzcDsmbmJzcDtpZiBwLmJvZHkgYW5kIGlzaW5zdGFuY2UocC5ib2R5Wy0x XSwgYXN0LkV4cHIpOlxuJm5ic3A7DQogJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtlID0gcC5i b2R5LnBvcCgpXG4mbmJzcDsgJm5ic3A7Jm5ic3A7dHJ5OlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7Jm5ic3A7ZyA9IGdsb2JhbHMoKVxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5i c3A7ZXhlYyhjb21waWxlKHAsIGZpbGVuYW1lLCAnZXhlYycpLCBnLCBnKVxuJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7Jm5ic3A7aWYgZTpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7Jm5ic3A7cmV0dXJuIGV2YWwoY29tcGlsZShhc3QuRXhwcmVzc2lvbihlLnZh bHVlKSwgZmlsZW5hbWUsICdldmFsJyksIGcsIGcpXG4mbmJzcDsgJm5ic3A7Jm5ic3A7ZXhjZXB0 IEV4Y2VwdGlvbjpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO3QsIHYsIHRiID0g c3lzLmV4Y19pbmZvKClcbiZuYnNwOw0KICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7c3lzLmV4 Y2VwdGhvb2sodCwgdiwgdGIudGJfbmV4dCkmcXVvdDspO19fUFlUSE9OX0VMX2V2YWwoJnF1b3Q7 dHJ5OlxuJm5ic3A7ICZuYnNwOyZuYnNwO2ltcG9ydCBhc3RcbiZuYnNwOyAmbmJzcDsmbmJzcDt3 aXRoIG9wZW4oJy92YXIvZm9sZGVycy9rZi96ZHB6Z3M5ZDMwYjNqajRiZGtkamYxdncwMDAwZ24v VC9iYWJlbC1WTXo1WVkvcHl0aG9uLVhteTVvVCcpIGFzIF9fb3JnX2JhYmVsX3B5dGhvbl90bXBm aWxlOlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7X19vcmdfYmFiZWxfcHl0aG9u X2FzdCA9IGFzdC5wYXJzZShfX29yZ19iYWJlbF9weXRob25fdG1wZmlsZS5yZWFkKCkpXG4mbmJz cDsNCiAmbmJzcDsmbmJzcDtfX29yZ19iYWJlbF9weXRob25fZmluYWwgPSBfX29yZ19iYWJlbF9w eXRob25fYXN0LmJvZHlbLTFdXG4mbmJzcDsgJm5ic3A7Jm5ic3A7aWYgaXNpbnN0YW5jZShfX29y Z19iYWJlbF9weXRob25fZmluYWwsIGFzdC5FeHByKTpcbiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyZuYnNwO19fb3JnX2JhYmVsX3B5dGhvbl9hc3QuYm9keSA9IF9fb3JnX2JhYmVsX3B5dGhv bl9hc3QuYm9keVs6LTFdXG4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtleGVjKGNv bXBpbGUoX19vcmdfYmFiZWxfcHl0aG9uX2FzdCwgJyZsdDtzdHJpbmcmZ3Q7JywgJ2V4ZWMnKSlc biZuYnNwOw0KICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5ic3A7X19vcmdfYmFiZWxfcHl0aG9uX2Zp bmFsID0gZXZhbChjb21waWxlKGFzdC5FeHByZXNzaW9uKFxuJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtfX29yZ19iYWJlbF9weXRob25fZmluYWwudmFsdWUp LCAnJmx0O3N0cmluZyZndDsnLCAnZXZhbCcpKVxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 Jm5ic3A7d2l0aCBvcGVuKCcvdmFyL2ZvbGRlcnMva2YvemRwemdzOWQzMGIzamo0YmRrZGpmMXZ3 MDAwMGduL1QvYmFiZWwtVk16NVlZL3B5dGhvbi1oelBCS2snLCAndycpIGFzIF9fb3JnX2JhYmVs X3B5dGhvbl90bXBmaWxlOlxuJm5ic3A7DQogJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyZuYnNwO2lmIEZhbHNlOlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyZuYnNwO2ltcG9ydCBwcHJpbnRcbiZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtfX29yZ19iYWJlbF9w eXRob25fdG1wZmlsZS53cml0ZShwcHJpbnQucGZvcm1hdChfX29yZ19iYWJlbF9weXRob25fZmlu YWwpKVxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDtlbHNl OlxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyZuYnNwO19fb3JnX2JhYmVsX3B5dGhvbl90bXBmaWxlLndyaXRlKHN0cihfX29yZ19iYWJlbF9w eXRob25fZmluYWwpKVxuJm5ic3A7ICZuYnNwOyZuYnNwO2Vsc2U6XG4mbmJzcDsNCiAmbmJzcDsg Jm5ic3A7ICZuYnNwOyZuYnNwO2V4ZWMoY29tcGlsZShfX29yZ19iYWJlbF9weXRob25fYXN0LCAn Jmx0O3N0cmluZyZndDsnLCAnZXhlYycpKVxuJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7Jm5i c3A7X19vcmdfYmFiZWxfcHl0aG9uX2ZpbmFsID0gTm9uZVxuZXhjZXB0OlxuJm5ic3A7ICZuYnNw OyZuYnNwO3JhaXNlXG5maW5hbGx5OlxuJm5ic3A7ICZuYnNwOyZuYnNwO3ByaW50KCdvcmdfYmFi ZWxfcHl0aG9uX2VvZScpJnF1b3Q7LCAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90Oyk8L3NwYW4+ PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBt YXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ry b2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0 LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOw0KICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsNCiAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7DQogJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOw0KICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7Jm5ic3A7Xjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1z dHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsg bGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwg MCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIi Pg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+U3lu dGF4RXJyb3I6IGludmFsaWQgc3ludGF4PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtp dC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDog bm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6 IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIg Y2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFz cz0iIj4mZ3Q7Jmd0OyZndDsmbmJzcDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0 LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBu b3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjog cmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBj bGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNz PSIiPm9yZ19iYWJlbF9weXRob25fZW9lPC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtp dC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDog bm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6 IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIg Y2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFz cz0iIj5UcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6PC9zcGFuPjwvZGl2Pg0KPGRp diBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7 IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTog Q291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjog cmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5p bmc6IG5vbmU7IiBjbGFzcz0iIj4mbmJzcDsmbmJzcDtGaWxlICZxdW90OyZsdDtzdHJpbmcmZ3Q7 JnF1b3Q7LCBsaW5lIDE4LCBpbiBfX1BZVEhPTl9FTF9ldmFsPC9zcGFuPjwvZGl2Pg0KPGRpdiBz dHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZv bnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291 cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdi KDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6 IG5vbmU7IiBjbGFzcz0iIj4mbmJzcDsmbmJzcDtGaWxlICZxdW90OyZsdDtzdHJpbmcmZ3Q7JnF1 b3Q7LCBsaW5lIDgsIGluICZsdDttb2R1bGUmZ3Q7PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0i LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3Ry ZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsg Y29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAs IDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7 IiBjbGFzcz0iIj4mbmJzcDsmbmJzcDtGaWxlICZxdW90OyZsdDtzdHJpbmcmZ3Q7JnF1b3Q7LCBs aW5lIDMsIGluICZsdDttb2R1bGUmZ3Q7PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtp dC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDog bm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6 IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIg Y2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFz cz0iIj5OYW1lRXJyb3I6IG5hbWUgJ2RmTWVtYmVyc2hpcCcgaXMgbm90IGRlZmluZWQ8L3NwYW4+ PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBt YXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ry b2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0 LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyZuYnNwOzwvc3Bhbj48 L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1h cmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9u dC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJv a2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQt Zm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+b3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+ PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBt YXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ry b2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0 LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs bCBsYXN0KTo8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdp ZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVp Z2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAt d2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFu IHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNw O0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVvdDssIGxpbmUgMTgsIGluIF9fUFlUSE9OX0VM X2V2YWw8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRo OiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0 OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Vi a2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0 eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0Zp bGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVvdDssIGxpbmUgOCwgaW4gJmx0O21vZHVsZSZndDs8 L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0 aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3Jt YWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRl eHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSIt d2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1 b3Q7Jmx0O3N0cmluZyZndDsmcXVvdDssIGxpbmUgMiwgaW4gJmx0O21vZHVsZSZndDs8L3NwYW4+ PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBt YXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ry b2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0 LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPk5hbWVFcnJvcjogbmFtZSAnZGZNZW1iZXJz aGlwJyBpcyBub3QgZGVmaW5lZDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4 dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1h bDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2Io MCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNz PSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+ Jmd0OyZndDsmZ3Q7Jm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0 LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFs OyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigw LCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9 IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj4y MDIxLTA4LTI0b3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+b3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTo8L3NwYW4+PC9kaXY+ DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46 IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFt aWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNv bG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQt a2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmlu ZyZndDsmcXVvdDssIGxpbmUgMTgsIGluIF9fUFlUSE9OX0VMX2V2YWw8L3NwYW4+PC9kaXY+DQo8 ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBw eDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5 OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9y OiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2Vy bmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZn dDsmcXVvdDssIGxpbmUgOCwgaW4gJmx0O21vZHVsZSZndDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0 eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9u dC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3Vy aWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2Io MCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzog bm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVv dDssIGxpbmUgMiwgaW4gJmx0O21vZHVsZSZndDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPk5hbWVFcnJvcjogbmFtZSAnZGZZUFRkYXRhJyBpcyBub3QgZGVmaW5lZDwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7Jm5ic3A7PC9zcGFu PjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsg bWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBm b250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0 cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtp dC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj5vcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+VHJhY2ViYWNrIChtb3N0IHJlY2VudCBj YWxsIGxhc3QpOjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNw YW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5i c3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSAxOCwgaW4gX19QWVRIT05f RUxfZXZhbDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lk dGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWln aHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13 ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4g c3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7 RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSA4LCBpbiAmbHQ7bW9kdWxlJmd0 Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGlu aXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5v cm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQt dGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9 Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAm cXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSAyLCBpbiAmbHQ7bW9kdWxlJmd0Ozwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+TmFtZUVycm9yOiBuYW1lICdkZlRyYWlu aW5nUnB0JyBpcyBub3QgZGVmaW5lZDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQt dGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5v cm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiBy Z2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNs YXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9 IiI+Jmd0OyZndDsmZ3Q7Jm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10 ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9y bWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJn YigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xh c3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0i Ij5vcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQt dGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5v cm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiBy Z2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNs YXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9 IiI+VHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOjwvc3Bhbj48L2Rpdj4NCjxkaXYg c3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBm b250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENv dXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJn YigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5n OiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZx dW90OywgbGluZSAxOCwgaW4gX19QWVRIT05fRUxfZXZhbDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5 bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250 LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJp ZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigw LCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBu b25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90 OywgbGluZSA4LCBpbiAmbHQ7bW9kdWxlJmd0Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGlu ZSAyLCBpbiAmbHQ7bW9kdWxlJmd0Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQt dGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5v cm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiBy Z2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNs YXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9 IiI+TmFtZUVycm9yOiBuYW1lICdkZlNjb3V0Ym9va1Njb3V0c1JCJyBpcyBub3QgZGVmaW5lZDwv c3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRp YWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1h bDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4 dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13 ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7Jm5ic3A7PC9z cGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlh bDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFs OyBmb250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0 LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdl YmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj5vcmdfYmFiZWxfcHl0aG9uX2VvZTwv c3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRp YWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1h bDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4 dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13 ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+VHJhY2ViYWNrIChtb3N0IHJlY2Vu dCBjYWxsIGxhc3QpOjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJv a2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGlu ZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwg MCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0K PHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7 Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSAxOCwgaW4gX19QWVRI T05fRUxfZXZhbDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNw YW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5i c3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSA4LCBpbiAmbHQ7bW9kdWxl Jmd0Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6 IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6 IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJr aXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5 bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7Rmls ZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSAzLCBpbiAmbHQ7bW9kdWxlJmd0Ozwv c3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRp YWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1h bDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4 dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13 ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+TmFtZUVycm9yOiBuYW1lICdkZkNv bXBhcmVTQndpdGhUTScgaXMgbm90IGRlZmluZWQ8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+b3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTo8L3NwYW4+PC9kaXY+ DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46 IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFt aWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNv bG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQt a2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmlu ZyZndDsmcXVvdDssIGxpbmUgMTgsIGluIF9fUFlUSE9OX0VMX2V2YWw8L3NwYW4+PC9kaXY+DQo8 ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBw eDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5 OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9y OiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2Vy bmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZn dDsmcXVvdDssIGxpbmUgOCwgaW4gJmx0O21vZHVsZSZndDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0 eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9u dC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3Vy aWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2Io MCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzog bm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVv dDssIGxpbmUgMSwgaW4gJmx0O21vZHVsZSZndDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSIt d2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJl dGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBj b2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwg MCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsi IGNsYXNzPSIiPk5hbWVFcnJvcjogbmFtZSAnZGZBZHZEYXRhJyBpcyBub3QgZGVmaW5lZDwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jmd0OyZndDsmZ3Q7Jm5ic3A7PC9zcGFu PjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsg bWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBm b250LWZhbWlseTogQ291cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0 cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtp dC1mb250LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj5vcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+VHJhY2ViYWNrIChtb3N0IHJlY2VudCBj YWxsIGxhc3QpOjwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Ut d2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1o ZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7 IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNw YW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5i c3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSAxOCwgaW4gX19QWVRIT05f RUxfZXZhbDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lk dGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWln aHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13 ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4g c3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7 RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSA4LCBpbiAmbHQ7bW9kdWxlJmd0 Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGlu aXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5v cm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQt dGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9 Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAm cXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90OywgbGluZSAxLCBpbiAmbHQ7bW9kdWxlJmd0Ozwvc3Bh bj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7 IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsg Zm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1z dHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJr aXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+TmFtZUVycm9yOiBuYW1lICdkZlNjb3V0 Ym9va1Njb3V0c1JCJyBpcyBub3QgZGVmaW5lZDwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+Jmd0OyZndDsmZ3Q7Jm5ic3A7PC9zcGFuPjwvZGl2Pg0KPGRpdiBzdHlsZT0iLXdl YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZvbnQtc3RyZXRj aDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291cmllcjsgY29s b3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDAp OyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vbmU7IiBj bGFzcz0iIj5vcmdfYmFiZWxfcHl0aG9uX2VvZTwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+VHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOjwvc3Bhbj48L2Rpdj4N CjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjog MHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1p bHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29s b3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1r ZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5n Jmd0OyZxdW90OywgbGluZSAxOCwgaW4gX19QWVRIT05fRUxfZXZhbDwvc3Bhbj48L2Rpdj4NCjxk aXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4 OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6 IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6 IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJu aW5nOiBub25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0 OyZxdW90OywgbGluZSA4LCBpbiAmbHQ7bW9kdWxlJmd0Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5 bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250 LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJp ZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigw LCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBu b25lOyIgY2xhc3M9IiI+Jm5ic3A7Jm5ic3A7RmlsZSAmcXVvdDsmbHQ7c3RyaW5nJmd0OyZxdW90 OywgbGluZSAxLCBpbiAmbHQ7bW9kdWxlJmd0Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13 ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0 Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNv bG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAw KTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIg Y2xhc3M9IiI+TmFtZUVycm9yOiBuYW1lICdkZkNvbXBhcmVTQndpdGhUTScgaXMgbm90IGRlZmlu ZWQ8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBp bml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBu b3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0 LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxl PSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyZuYnNw Ozwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGlu aXRpYWw7IG1hcmdpbjogMHB4OyBmb250LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5v cm1hbDsgZm9udC1mYW1pbHk6IENvdXJpZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQt dGV4dC1zdHJva2UtY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9 Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBub25lOyIgY2xhc3M9IiI+b3JnX2JhYmVsX3B5dGhvbl9l b2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBp bml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBu b3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0 LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxl PSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPlRyYWNlYmFjayAobW9zdCBy ZWNlbnQgY2FsbCBsYXN0KTo8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQt c3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7 IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAs IDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0i Ij4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZu YnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVvdDssIGxpbmUgMTgsIGluIF9f UFlUSE9OX0VMX2V2YWw8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ry b2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxp bmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAs IDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4N CjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNw OyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVvdDssIGxpbmUgOCwgaW4gJmx0O21v ZHVsZSZndDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdp ZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVp Z2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAt d2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFu IHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNw O0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZndDsmcXVvdDssIGxpbmUgMywgaW4gJmx0O21vZHVsZSZn dDs8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBp bml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBu b3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0 LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxl PSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPk5hbWVFcnJvcjogbmFtZSAn ZGZTY291dGJvb2tTY291dHNSQicgaXMgbm90IGRlZmluZWQ8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0 eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9u dC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3Vy aWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2Io MCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzog bm9uZTsiIGNsYXNzPSIiPiZndDsmZ3Q7Jmd0OyZuYnNwOzwvc3Bhbj48L2Rpdj4NCjxkaXYgc3R5 bGU9Ii13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6IGluaXRpYWw7IG1hcmdpbjogMHB4OyBmb250 LXN0cmV0Y2g6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgZm9udC1mYW1pbHk6IENvdXJp ZXI7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IC13ZWJraXQtdGV4dC1zdHJva2UtY29sb3I6IHJnYigw LCAwLCAwKTsiIGNsYXNzPSIiPg0KPHNwYW4gc3R5bGU9Ii13ZWJraXQtZm9udC1rZXJuaW5nOiBu b25lOyIgY2xhc3M9IiI+b3JnX2JhYmVsX3B5dGhvbl9lb2U8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0 eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBweDsgZm9u dC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5OiBDb3Vy aWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2Io MCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2VybmluZzog bm9uZTsiIGNsYXNzPSIiPlRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTo8L3NwYW4+ PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBt YXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZv bnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ry b2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0 LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0 O3N0cmluZyZndDsmcXVvdDssIGxpbmUgMTgsIGluIF9fUFlUSE9OX0VMX2V2YWw8L3NwYW4+PC9k aXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJn aW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQt ZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tl LWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZv bnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0 cmluZyZndDsmcXVvdDssIGxpbmUgOCwgaW4gJmx0O21vZHVsZSZndDs8L3NwYW4+PC9kaXY+DQo8 ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBpbml0aWFsOyBtYXJnaW46IDBw eDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGZvbnQtZmFtaWx5 OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0LXRleHQtc3Ryb2tlLWNvbG9y OiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxlPSItd2Via2l0LWZvbnQta2Vy bmluZzogbm9uZTsiIGNsYXNzPSIiPiZuYnNwOyZuYnNwO0ZpbGUgJnF1b3Q7Jmx0O3N0cmluZyZn dDsmcXVvdDssIGxpbmUgMjIsIGluICZsdDttb2R1bGUmZ3Q7PC9zcGFuPjwvZGl2Pg0KPGRpdiBz dHlsZT0iLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgbWFyZ2luOiAwcHg7IGZv bnQtc3RyZXRjaDogbm9ybWFsOyBsaW5lLWhlaWdodDogbm9ybWFsOyBmb250LWZhbWlseTogQ291 cmllcjsgY29sb3I6IHJnYigwLCAwLCAwKTsgLXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjogcmdi KDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6 IG5vbmU7IiBjbGFzcz0iIj5OYW1lRXJyb3I6IG5hbWUgJ2RmQWR2RGF0YScgaXMgbm90IGRlZmlu ZWQ8L3NwYW4+PC9kaXY+DQo8ZGl2IHN0eWxlPSItd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiBp bml0aWFsOyBtYXJnaW46IDBweDsgZm9udC1zdHJldGNoOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiBu b3JtYWw7IGZvbnQtZmFtaWx5OiBDb3VyaWVyOyBjb2xvcjogcmdiKDAsIDAsIDApOyAtd2Via2l0 LXRleHQtc3Ryb2tlLWNvbG9yOiByZ2IoMCwgMCwgMCk7IiBjbGFzcz0iIj4NCjxzcGFuIHN0eWxl PSItd2Via2l0LWZvbnQta2VybmluZzogbm9uZTsiIGNsYXNzPSIiPiZndDsmZ3Q7Jmd0Ozwvc3Bh bj48L2Rpdj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250 LWtlcm5pbmc6IG5vbmU7IiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L3NwYW4+PC9kaXY+DQo8 L2JvZHk+DQo8L2h0bWw+DQo= --_000_44E9472D65D948DAAF20C0A82818C5CAdisneycom_-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 12:36:54 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 16:36:54 +0000 Received: from localhost ([127.0.0.1]:50861 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMv8Y-000869-0J for submit@debbugs.gnu.org; Sun, 05 Sep 2021 12:36:54 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:34821) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMv8W-000860-NF for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 12:36:53 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4H2ccf69Y9z1qwGy; Sun, 5 Sep 2021 18:36:50 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4H2ccf4P0Cz1qqkC; Sun, 5 Sep 2021 18:36:50 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id RJH8tvTOzL0C; Sun, 5 Sep 2021 18:36:49 +0200 (CEST) X-Auth-Info: 8YgbNA/4Ux1zixKnJz8ohNFbu81iiprL/XdsKn43iMc+5wi7mKM/b+eM9pIi5W5o Received: from igel.home (ppp-46-244-183-251.dynamic.mnet-online.de [46.244.183.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Sun, 5 Sep 2021 18:36:49 +0200 (CEST) Received: by igel.home (Postfix, from userid 1000) id 3B81A2C255E; Sun, 5 Sep 2021 18:36:49 +0200 (CEST) From: Andreas Schwab To: Augusto Stoffel Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> X-Yow: Is this ANYWHERE, USA? Date: Sun, 05 Sep 2021 18:36:49 +0200 In-Reply-To: <87r1e4eklw.fsf@gmail.com> (Augusto Stoffel's message of "Sat, 04 Sep 2021 11:49:31 +0200") Message-ID: <87v93fnfmm.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Stefan Monnier , emacs-devel@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.5 (-) On Sep 04 2021, Augusto Stoffel wrote: > I've attached a patch that reverts to using temporary files for > sufficiently long strings (would this magic 4096 ever require > customization?). On BSD-like systems, the limit is 1024. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 13:21:46 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 17:21:46 +0000 Received: from localhost ([127.0.0.1]:50939 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMvpx-0000kh-OF for submit@debbugs.gnu.org; Sun, 05 Sep 2021 13:21:46 -0400 Received: from mail-pg1-f173.google.com ([209.85.215.173]:36590) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMvnR-0000fC-6Q for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 13:19:10 -0400 Received: by mail-pg1-f173.google.com with SMTP id t1so4320503pgv.3 for <49822@debbugs.gnu.org>; Sun, 05 Sep 2021 10:19:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=l01pqu3pAiOW0cb99WzSpQEi980zc9G6FqHa+yODTXY=; b=VmY/eAgr49RRwg2VOCsc20UUARMS8SQlkNykNI2rRgKzZEDCTplhCgkgVQdIWifLrB XQd2ZiAUdHQHrSu23xJ3M6wKPJ3QhN4Ubr5WFSPLKwhoYSPWBLxxXYmg9OpEE+NEs3Pt 3HgdWiPw50GWAWRz6JUr7Ozu/EjVlOunCGiGv20rjq6xhtGrM+IfBXWSMxu3VyGoZali uKQE0jwB7LwjH9BnzHvXrSMfzbzWtRu7Nc56YTDX//bJKgxJ7YtGHiEVw/lW8t68iOj3 y77mSR9USPY/gBquAAAd6RnSVMw195D6GQylf43L3UdObAG7b/WVPrgGRXmspj9M5R2V XRAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=l01pqu3pAiOW0cb99WzSpQEi980zc9G6FqHa+yODTXY=; b=I2c31LuijPyMdKkjfaoGUfm94Sy1vXqECQm92TyTC81oYcO3BJ4nqOpMCbFKDUkWHR yjHt6lFh0wBw+y7grLJSp9ubHj49axZqMjHEWpCGGPlU3wp4X5SjjAp6KYgdEyYCzUKm mQc+mYnVFxn5t8byY+2zr8/N5yvRnglaTVl3P1oo1UVBkNDvAe9SAjaW1qWPS6FdrUDA NjE0i4HMQnyxW9Jw28HeTroyIHDDIkI6/sTO9HwAXqUU7r82goEe5O3+Bjq9ZaYe27cu YJOFy6XPY28CxXWwD3BuVLpExAghwrgEkh8pOuatCOfd3YD4aDOkkdWZ2sgUhKB7Hadn p28Q== X-Gm-Message-State: AOAM530C2PYm6TN7UvffAkNAjxHLGMzTAZEFnZWUmvubicRjipXwQbq/ ORHLOU5E7U9n7RIv7DWjhMk= X-Google-Smtp-Source: ABdhPJzkVasz0t7IfdykJkwdra6Ez5E6kgS70M5CVKcLG0jnM8okLZrUNDW5bnMr3L5hUDvWm9cxUw== X-Received: by 2002:a63:77c5:: with SMTP id s188mr8398126pgc.123.1630862343244; Sun, 05 Sep 2021 10:19:03 -0700 (PDT) Received: from smtpclient.apple (2603-8001-7a00-01a0-18bb-b3d0-e23d-95e9.res6.spectrum.com. [2603:8001:7a00:1a0:18bb:b3d0:e23d:95e9]) by smtp.gmail.com with ESMTPSA id b16sm5209471pjb.40.2021.09.05.10.19.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 Sep 2021 10:19:01 -0700 (PDT) From: Mark Barton Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_787A41B2-73A1-49AF-838D-36060CFD099D" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files Date: Sun, 5 Sep 2021 10:18:59 -0700 In-Reply-To: <87ilzfcuj2.fsf@gmail.com> To: Augusto Stoffel References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> <87ilzfcuj2.fsf@gmail.com> X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 49822 X-Mailman-Approved-At: Sun, 05 Sep 2021 13:21:44 -0400 Cc: "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Stefan Monnier , "emacs-devel@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: -0.8 (/) --Apple-Mail=_787A41B2-73A1-49AF-838D-36060CFD099D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Sep 5, 2021, at 1:10 AM, Augusto Stoffel = wrote: >=20 > On Sun, 5 Sep 2021 at 06:13, "Barton, Mark" = wrote: >=20 >> Today I was trying to export my monthly org document that uses org = babel python blocks to >> produce tables. I can get it to export fine if I revert python.el to = the version before e32c7d2a8d >> - Change Python eval to send directly instead of using temporary = files. >>=20 >> Below I show the python session buffer, first where it is working and = then where it is broken for >> me. I=E2=80=99m running Emacs on macOS 11.5.1 and compile from the = master branch. >>=20 >> In the =E2=80=9CBroken session buffer=E2=80=9D below, I recognize the = code from that commit, but I really don=E2=80=99t >> understand the problem. Any ideas on what other information I can = gather that would be >> useful? >=20 > Two more things you could try: >=20 > 1) set `python-shell-completion-native-enable' to nil > 2) pull the current master, after commit 1fdd898704 >=20 > I'd be curious to see the effect of 1) before doing 2), if you have = the > time for this quick test. I created a test org and csv file to test. Before I added the inline = call to the test file, changing the = python-shell-completion-native-enable to nil did get the my def pd2org = to work. Otherwise it would work on the second export if I did not kill = the python-chain session. The inline call to file_date returns an error = =E2=80=9CInline error: multiline result cannot be used=E2=80=9D The attached pdf shows the successful export when I use the previous = python.el. I just compiled from master at commit c5b654b3f1 Recent commits c5b654b3f1 master origin/master Autoload cl-struct-slot-info 7c7a47b86e ; * etc/NEWS: Fix a recent change. 3d0276e98b Improve the documentation around the read-key/minibuffer = prompting 73a90cda4a Clarify completion-list-mode NEWS entry 8f2e8add98 ; * doc/emacs/maintaining.texi (Looking Up Identifiers): Fix = last change. 0972cbe42f * lisp/progmodes/xref.el: Fix defcustoms (bug#50067) 2ed2999ce5 Improve documentation of new Xref options 1fdd898704 Fixes for 'python-shell-send-string' and = 'python-shell-send-file' ba84ec8bd9 Fix error handling in 'ispell-init-process' e6f936eb4d Cleanup tramp-tests.el Setting the python-shell-completion-native-enable to nil cleans up the = session buffer python-chain Python 3.9.6 (default, Jun 29 2021, 05:25:02)=20 [Clang 12.0.5 (clang-1205.0.22.9)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>=20 org_babel_python_eoe >>>=20 2021-08-24org_babel_python_eoe >>>=20 org_babel_python_eoe >>>=20 org_babel_python_eoe >>>=20 2021-09-05org_babel_python_eoe >>>=20 But I now get the error that prevents the pdf export: =E2=80=9CInline = error: multiline result cannot be used" --Apple-Mail=_787A41B2-73A1-49AF-838D-36060CFD099D Content-Type: multipart/mixed; boundary="Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30" --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8

On Sep 5, 2021, at 1:10 AM, Augusto Stoffel <arstoffel@gmail.com>= wrote:

On Sun,  5 Sep 2021 at 06:13, "Barton, Mark" <Mark.Barton@disney.com> wrote:

Today I was trying to = export my monthly org document that uses org babel python blocks to
produce tables. I can get it to export fine if I revert = python.el to the version before e32c7d2a8d
- Change Python = eval to send directly instead of using temporary files.

Below I show the python session buffer, first where it is = working and then where it is broken for
me. I=E2=80=99m = running Emacs on macOS 11.5.1 and compile from the master branch.

In the =E2=80=9CBroken session buffer=E2=80=9D = below, I recognize the code from that commit, but I really don=E2=80=99tunderstand the problem. Any ideas on what other information = I can gather that would be
useful?

Two more things you could try:

1) set `python-shell-completion-native-enable' = to nil
2) pull the current master, after commit = 1fdd898704

I'd be curious to see the effect = of 1) before doing 2), if you have the
time for this quick = test.

I created a test org and csv file to = test. Before I added the inline call to the test file, changing the = python-shell-completion-native-enable to nil did get the my def pd2org = to work. Otherwise it would work on the second export if I did not kill = the python-chain session. The inline call to file_date returns an error = =E2=80=9CInline error: multiline result cannot be used=E2=80=9D

The attached pdf shows = the successful export when I use the previous python.el.

I just compiled from = master at commit c5b654b3f1

Recent commits
c5b654b3f1= master origin/master Autoload cl-struct-slot-info
7c7a47b86e ; * etc/NEWS: Fix a recent change.
3d0276e98b Improve the documentation around the = read-key/minibuffer prompting
73a90cda4a Clarify = completion-list-mode NEWS entry
8f2e8add98 ; * = doc/emacs/maintaining.texi (Looking Up Identifiers): Fix last = change.
0972cbe42f * lisp/progmodes/xref.el: Fix = defcustoms (bug#50067)
2ed2999ce5 Improve = documentation of new Xref options
1fdd898704 Fixes = for 'python-shell-send-string' and 'python-shell-send-file'
ba84ec8bd9 Fix error handling in = 'ispell-init-process'
e6f936eb4d Cleanup = tramp-tests.el

Setting the python-shell-completion-native-enable to nil = cleans up the session buffer python-chain

Python 3.9.6 (default, = Jun 29 2021, 05:25:02) 
[Clang 12.0.5 = (clang-1205.0.22.9)] on darwin
Type "help", = "copyright", "credits" or "license" for more information.
>>> 
org_babel_python_eoe
>>> 
2021-08-24org_babel_python_eoe
>>> 
org_babel_python_eoe
>>> 
org_babel_python_eoe
>>> 
2021-09-05org_babel_python_eoe
>>> 

But I now get the error that prevents = the pdf export: =E2=80=9CInline error: multiline result cannot be = used"
= --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Disposition: attachment; filename=ts_org_babel_python.csv Content-Type: text/csv; x-unix-mode=0644; name="ts_org_babel_python.csv" Content-Transfer-Encoding: 7bit 1, one 2, two 3, three --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Disposition: attachment; filename=ts_org_babel_python.org Content-Type: application/octet-stream; x-unix-mode=0644; name="ts_org_babel_python.org" Content-Transfer-Encoding: 7bit #+TITLE: Test Org Babel Export with Python Blocks #+AUTHOR: Mark Barton #+DATE: 2021-09-05 #+OPTIONS: toc:nil H:4 num:nil ^:nil #+EXCLUDE_TAGS: ignore #+LATEX_CLASS: article #+LaTeX_HEADER: \usepackage[letterpaper,margin=0.5in, bottom=1in]{geometry} #+latex_header: \usepackage{float} #+LaTeX_HEADER: \usepackage{enumitem}\setlist[itemize]{nosep} #+LaTeX_HEADER: \usepackage{needspace} #+LaTeX_HEADER: \usepackage{booktabs} #+LaTeX_HEADER: \usepackage{xcolor} #+LaTeX_HEADER: \let\OldRule\rule #+LaTeX_HEADER: \renewcommand{\rule}[2]{\OldRule{\linewidth}{#2}} #+LaTeX_HEADER: \setlength{\parindent}{0pt} #+LaTeX_HEADER: \setlength{\parskip}{12pt} #+PROPERTY: header-args:python :session python-chain :exports results :results raw replace *** Initialize python :ignore: #+BEGIN_SRC python import pandas as pd from tabulate import tabulate #+END_SRC #+RESULTS: #+NAME: file_date #+begin_src python :var file="Roster_Report.csv" :exports none import os import time print(time.strftime("%Y-%m-%d",time.localtime(os.path.getmtime(file))), end="") #+end_src *** Process downloaded csv files with Python Pandas for custom reports :ignore: #+begin_src python :exports none def pd2org(dataframe): return tabulate(dataframe, headers="keys", tablefmt="orgtbl", showindex="always") dfTest = pd.read_csv("./ts_org_babel_python.csv") #+end_src *** This is a test :ignore: #+NAME: Test_Table #+begin_src python pd2org(dfTest) #+end_src *** Summary Include multiple source blocks and an inline call to create data for document. #+ATTR_LATEX: :placement [H] #+caption: Test Table call_file_date[:results output :results raw](file="./ts_org_babel_python.csv") #+RESULTS: Test_Table --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Disposition: inline; filename=ts_org_babel_python.pdf Content-Type: application/pdf; x-unix-mode=0644; name="ts_org_babel_python.pdf" Content-Transfer-Encoding: base64 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 M/qW4jP4pfgMfik+Q08pPlOu+IzZS/GZ+OIz8S2fDITlpMEspfiPWUrxH+9hKf5TTf5WHNXk76Sk OuI/ODX3SuFDzfE0wQ9Hk+wR5r26kROKTiQcxLhC3k/69jyO4RKge4ZOdZznu96/X0WH4YAs+tEd drlGsbpvoj+/vuA7CmVuZHN0cmVhbQplbmRvYmoKMzUgMCBvYmoKPDwKL1Byb2R1Y2VyIChwZGZU ZVgtMS40MC4yMykKL0F1dGhvcihcMzc2XDM3N1wwMDBNXDAwMGFcMDAwclwwMDBrXDAwMFwwNDBc MDAwQlwwMDBhXDAwMHJcMDAwdFwwMDBvXDAwMG4pL1RpdGxlKFwzNzZcMzc3XDAwMFRcMDAwZVww MDBzXDAwMHRcMDAwXDA0MFwwMDBPXDAwMHJcMDAwZ1wwMDBcMDQwXDAwMEJcMDAwYVwwMDBiXDAw MGVcMDAwbFwwMDBcMDQwXDAwMEVcMDAweFwwMDBwXDAwMG9cMDAwclwwMDB0XDAwMFwwNDBcMDAw d1wwMDBpXDAwMHRcMDAwaFwwMDBcMDQwXDAwMFBcMDAweVwwMDB0XDAwMGhcMDAwb1wwMDBuXDAw MFwwNDBcMDAwQlwwMDBsXDAwMG9cMDAwY1wwMDBrXDAwMHMpL1N1YmplY3QoKS9DcmVhdG9yKFwz NzZcMzc3XDAwMEVcMDAwbVwwMDBhXDAwMGNcMDAwc1wwMDBcMDQwXDAwMDJcMDAwOFwwMDAuXDAw MDBcMDAwLlwwMDA1XDAwMDBcMDAwXDA0MFwwMDBcMDUwXDAwME9cMDAwclwwMDBnXDAwMFwwNDBc MDAwbVwwMDBvXDAwMGRcMDAwZVwwMDBcMDQwXDAwMDlcMDAwLlwwMDA0XDAwMC5cMDAwNlwwMDBc MDUxKS9LZXl3b3JkcygpCi9DcmVhdGlvbkRhdGUgKEQ6MjAyMTA5MDUwOTQxMTQtMDcnMDAnKQov TW9kRGF0ZSAoRDoyMDIxMDkwNTA5NDExNC0wNycwMCcpCi9UcmFwcGVkIC9GYWxzZQovUFRFWC5G dWxsYmFubmVyIChUaGlzIGlzIHBkZlRlWCwgVmVyc2lvbiAzLjE0MTU5MjY1My0yLjYtMS40MC4y MyAoVGVYIExpdmUgMjAyMi9kZXYpIGtwYXRoc2VhIHZlcnNpb24gNi4zLjQvZGV2KQo+PgplbmRv YmoKMiAwIG9iago8PAovVHlwZSAvT2JqU3RtCi9OIDI0Ci9GaXJzdCAxNzMKL0xlbmd0aCAxNDgw ICAgICAgCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCj4+CnN0cmVhbQp42rVX227bOBB991fwMd1FRPFO AkWB5uJut0lTJO41yIPrKLZQRzIsZdvu1+8ZUrFlJ9kgKAokNDkzHM45HA5FwXKmmBLMMiEFc0yY wETORFBMKCah0UxayCxTBmrHXJBMeBjlbiCg0CpnmCqcwS9mBWuYxJ+EJ+nQzWGMsaPpgsmgMZZY E8sEpqSTzDOllR4IjTUCFoLWKggRmTMGSvw6M3j+nPEzxl/Vo5rxA3auEPwp48OyvWAvXkA94KOf i4Lxd+NpMeD7ddUWVdswQ3YDflo09c1yUjSAFAXHxWU53qt/sPMcAouggO1igOlLzAOyaNZ5Xq/3 6fMXxAlblXkrWXUzn188YGWZM/YRC+PzTOnH/BghslxtWQ2BkBErQ+yT79iAUei6RhLjqS8DsU59 TObvlvXkrGjZOcg6GDI+Kn60LPo9V0pkFttlM810cJn8pTb5Sa1zCpJ+q23AWp1Em0wxl8MO6eVM gMzGeVb7DBKfdzbK+CyAkZykTqJvpYB1gCTc+ok+bX/diMsYmXUrJLvYihwO1IbI5m6LhtRP8uSy r02Ote73VL6pTfYkNVIj+DT20qPtZvWsk43yltogCXjs97UAcjE4t9hlZ3XmmNeGeZVntPHKkCAO UmvBlcDyJjPM6ACuUj/JvTExuLWW3GpP3FPP5CgVlIkrXbJVXQ7fzg0i0kQzVpZJr7UFCK1wbpiW DtGtdS5o6FI/toClJNlLJ+BF+wDfv9ImP6l1VtCavVZbIriTxAhtiFmTo+Jp2nJr8a9iJloPvpKV MmRlcpm8EiJiPbhOnzzS3M63jAh11OUrq9iipJrVILUm+JhnawpSP8mTy742OdbYerHRlyFkYsOm oyPKDbbMdRIvKIZubs8+2ShsjYt5KFKfss9S4ljnoXEibqsKdIJEOnYuHWtKkEif9pJOEFISvr2j 1AMO0dmQPHQeun4QZCnl7RrJLra4bMhXT2KcJsYsFQcqL77rJ3ny2NeSX42oTa8nvetpk3WUBbOa 7bwi5qTs+4l6ZWORcoQv9de6hCD1Y3vRu7aonB8UzWRZLtp6mcr72/E1NB/OPg4/j/48G+59Elrn UM3HU9xjyWYv3mG7EkVtV+GiFtZQMTS4yl42E7rKbMCc/fHir6KczrohrUS6XRHg53U7npeTl9V0 XjAoz9ri+gPSesA/dXO0htX+bLyka2OHn/Exv+ZLfsN/PktRDEtMlXn/znwM1uHb0d+vjgHr9Fjk wdwPS3iCBcdAjuqiZQ+WDxuwaPhUWCrvw3rNRwD2lU/4pJ7XFb/kBb/iV+U/BZ/x2c/FrKh4yb/x OcBXvCqrgte8Rrvgi2JZ1pegpOEtb2fLouDt9xoEfef/Fst6gyX5FJZOjo8+npwklmSeP8SSuWUJ zW9maY8fg6XESuLk2yYbS6IA4O8A108B/uH08OjLUQLupH8AuNOU9aieSjsAD78X+CE/4e9WSVLw KfIiJUQF7Itu+7/zH1vnwt4FflhN6suymiKo8uqqwDcnfZuea3NLasoo1MvIYySWSI25xYyKG4C6 loiP+YqLhu/hePNDVDr+Gp8p/BhXK8WMbwAc2hELros9pXaMHzePWyU1UODjQXdIbtAPCc/F3X0D ZTdf2zgkoRjwvXFTxM/Se2rWxkbTmyF+hQ/LZdMSxYhwwI/G3QDPkQH/WF62s4ZeHdH0ljF6T0TB qH5flZCBYH9/Zv1fhHfLz1aEajtCbfoRirCO0D4eYXh6hHeP/laE5pEI7TpC/2iEKn96hHfP6FaE bjtCax/a5fB4hOJuhPTYa+i1d0NvtgF/U1423etplbFUTyDcOagnu2fteNk+YzEutrPA7Ew8YzYN m2LSlnX1B4lEnmTt+Os82ojOKT8qr8t2y9/KbP2GKxoYqXtq/f4YdaeeDlLstw/NLkrVZR3pjgGa v2+Kk5t2jkPegLhqunOIelU2M9SXk0VRvYwRsxUz/wEG1eFjCmVuZHN0cmVhbQplbmRvYmoKMzYg MCBvYmoKPDwKL1R5cGUgL1hSZWYKL0luZGV4IFswIDM3XQovU2l6ZSAzNwovVyBbMSAyIDFdCi9S b290IDM0IDAgUgovSW5mbyAzNSAwIFIKL0lEIFs8MzE3M0IzNTVCRTQ4QUYxRkNBNEE3RDM4MjFC MTE2Nzc+IDwzMTczQjM1NUJFNDhBRjFGQ0E0QTdEMzgyMUIxMTY3Nz5dCi9MZW5ndGggMTE0ICAg ICAgIAovRmlsdGVyIC9GbGF0ZURlY29kZQo+PgpzdHJlYW0KeNoVy7sJAgEQRdH3Zv2s3/UvdmAL glZgaCH2s4kFCQYGgmAgbBEGBnonOHOHgZH0C4X8aphhdKwq90CBOWZoYYIp2ligQhcleug79vk7 8HaXHfp8zI58+WbHvp7k20e+1/LjkLclVlj7+Zabjf4svQ9YCmVuZHN0cmVhbQplbmRvYmoKc3Rh cnR4cmVmCjU4MTM3CiUlRU9GCg== --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30 Content-Transfer-Encoding: 7bit Content-Type: text/html; charset=us-ascii --Apple-Mail=_9DE3B722-1124-49A2-8808-147A8ACF7F30-- --Apple-Mail=_787A41B2-73A1-49AF-838D-36060CFD099D-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 13:33:54 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 17:33:55 +0000 Received: from localhost ([127.0.0.1]:50949 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMw1i-00012j-BJ for submit@debbugs.gnu.org; Sun, 05 Sep 2021 13:33:54 -0400 Received: from mail-pg1-f182.google.com ([209.85.215.182]:38545) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMw1f-00012W-S9 for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 13:33:52 -0400 Received: by mail-pg1-f182.google.com with SMTP id w8so4336995pgf.5 for <49822@debbugs.gnu.org>; Sun, 05 Sep 2021 10:33:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=WUwORsY42bnuBOQ3pAcvAAyWvmytm22Y2rcLVGNMvuo=; b=jFDBcbkBFou1T5snTA4/Mlelxa9TfYwiFZjpdfD5vS9kCRK18CTjNdPUMt4nJZIEgO 877XdHZcDcpEujCAKzta4EwIQAySfABhn8ro9jYf6+N+xNi9uJ21gz0BitX6m8Dk7xaL n2xYpfA/9Q68P4C6RgBhQ+9OI6J0bCh0QjYpbXuAmExfDwo3+nfuniAquT+5o16pyTpb tFLY4+MLjC4GmlNnQOgVRSWsVpr5BYA3Pq5CH2PU64QvpirOlF5xkRC7JkkupuWFyLcX B+BdzFaVuE+bnUiwFYOwLythybQ6xv5OZOxQtwIuHsnbZVS8UFKYxavj17kRWW0iPy/S 4YWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=WUwORsY42bnuBOQ3pAcvAAyWvmytm22Y2rcLVGNMvuo=; b=Hqi3o65ooM0VkGUeABG+FivfumyahfeGi3AQ0BQ2sYVI8cNgT8p0IOyK/TqgESzHxa ZVqzwQsMisN5NF+chQxuNvuFTVYDjohCXnrbqwGdu2WxvgWnh/cuktcYFaFh6qEf/2qi HoIyUfWSBqK9B8AvkRI1Jq5AOymkZesd0rKuXuGRd3Fa70B5bUYsSmKoJpk+m07mdFyM zNAiYX9zZ2wyVvsCab0BACNVeCy4/zIrH6VGskq8bv59DknZXnc0TIk+3AmxIu0+bLJ3 +mU/uoG3DixqTw0l0AusZ3vIvuIcgC/7jfgB9qytlH2RFqvwPEI++xmTT+XgQ6kfJoAx a+9w== X-Gm-Message-State: AOAM5329KhGpZW8gItnIOud3+QBMJ20SYkV9rN4uqxVKT8lKQCzhIR5e aRmQZkNY80XO7KBIuxZ+DPw= X-Google-Smtp-Source: ABdhPJxS3kqH/MULTmpMb721rdsUhQ47S/HLbILeewOCwHk/fKG8oQ+FMxd7zVX04iT+BFzIDfOgtg== X-Received: by 2002:aa7:9787:0:b0:409:7f3e:82b5 with SMTP id o7-20020aa79787000000b004097f3e82b5mr8142124pfp.51.1630863225884; Sun, 05 Sep 2021 10:33:45 -0700 (PDT) Received: from smtpclient.apple (2603-8001-7a00-01a0-18bb-b3d0-e23d-95e9.res6.spectrum.com. [2603:8001:7a00:1a0:18bb:b3d0:e23d:95e9]) by smtp.gmail.com with ESMTPSA id gm5sm5173607pjb.32.2021.09.05.10.33.44 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 05 Sep 2021 10:33:45 -0700 (PDT) From: Mark Barton Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_784EBF37-5BE8-49A7-9A83-7B8D9F4CCBA2" Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files Date: Sun, 5 Sep 2021 10:33:45 -0700 In-Reply-To: To: Augusto Stoffel References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> <87ilzfcuj2.fsf@gmail.com> X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Spam-Score: 1.2 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > On Sep 5, 2021, at 10:18 AM, Mark Barton wrote: > > > >> On Sep 5, 2021, at 1:10 AM, Augusto Stoffel > wrote: >> >> On Sun, 5 Sep 2021 at 06:13, "B [...] Content analysis details: (1.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mbarton98[at]gmail.com) 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends in digit (mbarton98[at]gmail.com) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [209.85.215.182 listed in wl.mailspike.net] -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [209.85.215.182 listed in list.dnswl.org] 0.0 HTML_MESSAGE BODY: HTML included in message -0.0 RCVD_IN_MSPIKE_WL Mailspike good senders 1.0 FREEMAIL_REPLY From and body contain different freemails X-Debbugs-Envelope-To: 49822 Cc: "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Stefan Monnier , "emacs-devel@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: -0.8 (/) --Apple-Mail=_784EBF37-5BE8-49A7-9A83-7B8D9F4CCBA2 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Sep 5, 2021, at 10:18 AM, Mark Barton wrote: >=20 >=20 >=20 >> On Sep 5, 2021, at 1:10 AM, Augusto Stoffel > wrote: >>=20 >> On Sun, 5 Sep 2021 at 06:13, "Barton, Mark" > wrote: >>=20 >>> Today I was trying to export my monthly org document that uses org = babel python blocks to >>> produce tables. I can get it to export fine if I revert python.el to = the version before e32c7d2a8d >>> - Change Python eval to send directly instead of using temporary = files. >>>=20 >>> Below I show the python session buffer, first where it is working = and then where it is broken for >>> me. I=E2=80=99m running Emacs on macOS 11.5.1 and compile from the = master branch. >>>=20 >>> In the =E2=80=9CBroken session buffer=E2=80=9D below, I recognize = the code from that commit, but I really don=E2=80=99t >>> understand the problem. Any ideas on what other information I can = gather that would be >>> useful? >>=20 >> Two more things you could try: >>=20 >> 1) set `python-shell-completion-native-enable' to nil >> 2) pull the current master, after commit 1fdd898704 >>=20 >> I'd be curious to see the effect of 1) before doing 2), if you have = the >> time for this quick test. >=20 >=20 > I created a test org and csv file to test. Before I added the inline = call to the test file, changing the = python-shell-completion-native-enable to nil did get the my def pd2org = to work. Otherwise it would work on the second export if I did not kill = the python-chain session. The inline call to file_date returns an error = =E2=80=9CInline error: multiline result cannot be used=E2=80=9D >=20 > The attached pdf shows the successful export when I use the previous = python.el. >=20 > I just compiled from master at commit c5b654b3f1 >=20 > Recent commits > c5b654b3f1 master origin/master Autoload cl-struct-slot-info > 7c7a47b86e ; * etc/NEWS: Fix a recent change. > 3d0276e98b Improve the documentation around the read-key/minibuffer = prompting > 73a90cda4a Clarify completion-list-mode NEWS entry > 8f2e8add98 ; * doc/emacs/maintaining.texi (Looking Up Identifiers): = Fix last change. > 0972cbe42f * lisp/progmodes/xref.el: Fix defcustoms (bug#50067) > 2ed2999ce5 Improve documentation of new Xref options > 1fdd898704 Fixes for 'python-shell-send-string' and = 'python-shell-send-file' > ba84ec8bd9 Fix error handling in 'ispell-init-process' > e6f936eb4d Cleanup tramp-tests.el >=20 > Setting the python-shell-completion-native-enable to nil cleans up the = session buffer python-chain >=20 > Python 3.9.6 (default, Jun 29 2021, 05:25:02)=20 > [Clang 12.0.5 (clang-1205.0.22.9)] on darwin > Type "help", "copyright", "credits" or "license" for more information. > >>>=20 > org_babel_python_eoe > >>>=20 > 2021-08-24org_babel_python_eoe > >>>=20 > org_babel_python_eoe > >>>=20 > org_babel_python_eoe > >>>=20 > 2021-09-05org_babel_python_eoe > >>>=20 >=20 > But I now get the error that prevents the pdf export: =E2=80=9CInline = error: multiline result cannot be used" > > > Here is a simpler one to attempt to reproduce. If I comment out the = #+PROPERTY line to not use a session then it works. With the #+PROPERTY = line, I get the =E2=80=9CInline error: multiline result cannot be = used=E2=80=9D. #+TITLE: Test Org Babel Export with Python Blocks #+AUTHOR: Mark Barton #+DATE: 2021-09-05 #+OPTIONS: toc:nil H:4 num:nil ^:nil #+EXCLUDE_TAGS: ignore #+LATEX_CLASS: article #+LaTeX_HEADER: \usepackage[letterpaper,margin=3D0.5in, = bottom=3D1in]{geometry} #+latex_header: \usepackage{float} #+LaTeX_HEADER: \usepackage{enumitem}\setlist[itemize]{nosep} #+LaTeX_HEADER: \usepackage{needspace} #+LaTeX_HEADER: \usepackage{booktabs} #+LaTeX_HEADER: \usepackage{xcolor} #+LaTeX_HEADER: \let\OldRule\rule #+LaTeX_HEADER: \renewcommand{\rule}[2]{\OldRule{\linewidth}{#2}} #+LaTeX_HEADER: \setlength{\parindent}{0pt} #+LaTeX_HEADER: \setlength{\parskip}{12pt} #+PROPERTY: header-args:python :session python-chain :exports results = :results raw replace =20 *** Initialize python = :ignore: #+NAME: file_date #+begin_src python :var file=3D"Roster_Report.csv" :exports none import os import time print(time.strftime("%Y-%m-%d",time.localtime(os.path.getmtime(file))), = end=3D"") #+end_src *** Summary Test inline call_file_date[:results output :results = raw](file=3D"./ts_org_babel_python.csv") --Apple-Mail=_784EBF37-5BE8-49A7-9A83-7B8D9F4CCBA2 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8


On Sep 5, 2021, at 10:18 AM, = Mark Barton <mbarton98@gmail.com> wrote:



On Sep 5, 2021, at 1:10 AM, Augusto Stoffel <arstoffel@gmail.com>= wrote:

On Sun,  5 Sep 2021 at 06:13, "Barton, Mark" <Mark.Barton@disney.com> wrote:

Today I was trying to = export my monthly org document that uses org babel python blocks to
produce tables. I can get it to export fine if I revert = python.el to the version before e32c7d2a8d
- Change Python = eval to send directly instead of using temporary files.

Below I show the python session buffer, first where it is = working and then where it is broken for
me. I=E2=80=99m = running Emacs on macOS 11.5.1 and compile from the master branch.

In the =E2=80=9CBroken session buffer=E2=80=9D = below, I recognize the code from that commit, but I really don=E2=80=99tunderstand the problem. Any ideas on what other information = I can gather that would be
useful?

Two more things you could try:

1) set `python-shell-completion-native-enable' = to nil
2) pull the current master, after commit = 1fdd898704

I'd be curious to see the effect = of 1) before doing 2), if you have the
time for this quick = test.

I created a test org and csv file to = test. Before I added the inline call to the test file, changing the = python-shell-completion-native-enable to nil did get the my def pd2org = to work. Otherwise it would work on the second export if I did not kill = the python-chain session. The inline call to file_date returns an error = =E2=80=9CInline error: multiline result cannot be used=E2=80=9D

The attached pdf shows = the successful export when I use the previous python.el.

I just compiled from = master at commit c5b654b3f1

Recent commits
c5b654b3f1= master origin/master Autoload cl-struct-slot-info
7c7a47b86e ; * etc/NEWS: Fix a recent change.
3d0276e98b Improve the documentation around the = read-key/minibuffer prompting
73a90cda4a Clarify = completion-list-mode NEWS entry
8f2e8add98 ; * = doc/emacs/maintaining.texi (Looking Up Identifiers): Fix last = change.
0972cbe42f * lisp/progmodes/xref.el: Fix = defcustoms (bug#50067)
2ed2999ce5 Improve = documentation of new Xref options
1fdd898704 Fixes = for 'python-shell-send-string' and 'python-shell-send-file'
ba84ec8bd9 Fix error handling in = 'ispell-init-process'
e6f936eb4d Cleanup = tramp-tests.el

Setting the python-shell-completion-native-enable to nil = cleans up the session buffer python-chain

Python 3.9.6 (default, = Jun 29 2021, 05:25:02) 
[Clang 12.0.5 = (clang-1205.0.22.9)] on darwin
Type "help", = "copyright", "credits" or "license" for more information.
>>> 
org_babel_python_eoe
>>> 
2021-08-24org_babel_python_eoe
>>> 
org_babel_python_eoe
>>> 
org_babel_python_eoe
>>> 
2021-09-05org_babel_python_eoe
>>> 

But I now get the error that prevents = the pdf export: =E2=80=9CInline error: multiline result cannot be = used"
<ts_org_babel_python.cs= v>
<ts_org_babel_python.org>
<ts_org_babel_python.pd= f>

Here is a simpler one to attempt to reproduce. If I comment = out the #+PROPERTY line to not use a session then it works. With = the #+PROPERTY line, I get the =E2=80=9CInline error: multiline = result cannot be used=E2=80=9D.


#+TITLE: Test Org Babel Export with Python Blocks
#+AUTHOR: Mark Barton
#+DATE: = 2021-09-05
#+OPTIONS: toc:nil H:4 num:nil = ^:nil
#+EXCLUDE_TAGS: ignore
#+LATEX_CLASS: article
#+LaTeX_HEADER: = \usepackage[letterpaper,margin=3D0.5in, bottom=3D1in]{geometry}
#+latex_header: \usepackage{float}
#+LaTeX_HEADER: = \usepackage{enumitem}\setlist[itemize]{nosep}
#+LaTeX_HEADER: \usepackage{needspace}
#+LaTeX_HEADER: \usepackage{booktabs}
#+LaTeX_HEADER: \usepackage{xcolor}
#+LaTeX_HEADER: \let\OldRule\rule
#+LaTeX_HEADER: = \renewcommand{\rule}[2]{\OldRule{\linewidth}{#2}}
#+LaTeX_HEADER: \setlength{\parindent}{0pt}
#+LaTeX_HEADER: \setlength{\parskip}{12pt}
#+PROPERTY: header-args:python :session python-chain :exports = results :results raw replace

      
*** Initialize python           =                     =               =  :ignore:

#+NAME: file_date
#+begin_src python = :var file=3D"Roster_Report.csv" :exports none
import = os
import time
print(time.strftime("%Y-%m-%d",time.localtime(os.path.getmtime(= file))), end=3D"")
#+end_src

***= Summary

Test = inline call_file_date[:results output :results = raw](file=3D"./ts_org_babel_python.csv")

= --Apple-Mail=_784EBF37-5BE8-49A7-9A83-7B8D9F4CCBA2-- From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 13:46:30 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 17:46:30 +0000 Received: from localhost ([127.0.0.1]:50959 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMwDu-0001Mx-4c for submit@debbugs.gnu.org; Sun, 05 Sep 2021 13:46:30 -0400 Received: from mail-wr1-f46.google.com ([209.85.221.46]:40696) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMwDr-0001Mj-AS for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 13:46:28 -0400 Received: by mail-wr1-f46.google.com with SMTP id q26so5320893wrc.7 for <49822@debbugs.gnu.org>; Sun, 05 Sep 2021 10:46:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=cYLGNKGD0MOjpdu35qA4l5yKc4gHwLgM0LVFueBAd84=; b=TlZNOUBsXcjYNc2XDh5RhwbHCd04wU9m8VNJjkotMxfWQu+PzwJeuCna1zLtytrD6c jGw3HSbtl4ZhBY5UcA9PIWVvzAzRmcXMZgNojkhwE7Y1LWPrw/x7kSaAg+s5Y1Kxbw6X I/mIhH7kndqRYS4Jf2X4NHAPV0N6VTgxclhAAVD56+gOoylu9CANXJFRchu7PbxwKOFI tra+9cm46DdATdFhs8Ilb1GeRMloFg+ypR5O/saMe9GToZPpwV0Tkl4pr+pUKKOiYhWX hq/9sXm1j/OME4l75Wlcm0IgJA5LmzLEp8xUaOT1PiEfAOE9uFvqt68uPFY8P8GoKDYJ 9EhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=cYLGNKGD0MOjpdu35qA4l5yKc4gHwLgM0LVFueBAd84=; b=bFyGsRQIekxxyA161yu5w2BhL8wyfMP4IASQZ/WY2AB0oL6vFUm13iIliU9JUc45u+ yW4Kw411LmWaIZXiuVx0EdHouSclBbnNWBmLdDRbr1J+iuc2ywiYoplM0A7PE5CgObQA bMmKFDu6cZXlZTu/8nDn6BrbFqQEcbqanW8au5Et5mBJlvHLMkXKPesdJWZd/CYEr4nG yipDL8aT5DtPiQAFtW7bhWYdfTbkD0HwP+0P28GS5+VqLN46kQl6vGXJYhDXU8ckYGDW hI3Rqbo3fgDtlby86FW5IlHBKGMNjc79RzlIUWDfgSbbZiiWIhtS+pIWYuV5IHHtpRJn J/hg== X-Gm-Message-State: AOAM533YGR0QakJAxbxbIMsrS/ZcUP0CKxCPnpTwR1k7AAiQmVPPySvU vqZrnHBTo0uFP+ED3KI84as= X-Google-Smtp-Source: ABdhPJyoQnOWKP/jZD7FP5WNSNTR7tqvHF8BhFqODmmCv4u1ZfcOiHFhFWyV18JT6eIQCJFPTRuOig== X-Received: by 2002:adf:c18d:: with SMTP id x13mr9465323wre.380.1630863981509; Sun, 05 Sep 2021 10:46:21 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id z19sm6092118wma.0.2021.09.05.10.46.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Sep 2021 10:46:21 -0700 (PDT) From: Augusto Stoffel To: Mark Barton Subject: Re: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <44E9472D-65D9-48DA-AF20-C0A82818C5CA@disney.com> <87ilzfcuj2.fsf@gmail.com> Date: Sun, 05 Sep 2021 19:46:19 +0200 In-Reply-To: (Mark Barton's message of "Sun, 5 Sep 2021 10:18:59 -0700") Message-ID: <87pmtmoqz8.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Stefan Monnier , "emacs-devel@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 Sun, 5 Sep 2021 at 10:18, Mark Barton wrote: > I created a test org and csv file to test. Before I added the inline call= to the test file, changing > the python-shell-completion-native-enable to nil did get the my def pd2or= g to work. Otherwise > it would work on the second export if I did not kill the python-chain ses= sion. The inline call to > file_date returns an error =E2=80=9CInline error: multiline result cannot= be > used=E2=80=9D Then I'm pretty sure this problem has to do with line length limits in the TTY, as Stefan had already alerted. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 05 14:40:59 2021 Received: (at 49822) by debbugs.gnu.org; 5 Sep 2021 18:40:59 +0000 Received: from localhost ([127.0.0.1]:51018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMx4d-0002f7-0o for submit@debbugs.gnu.org; Sun, 05 Sep 2021 14:40:59 -0400 Received: from mail-wr1-f43.google.com ([209.85.221.43]:34614) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mMx4b-0002et-MZ for 49822@debbugs.gnu.org; Sun, 05 Sep 2021 14:40:58 -0400 Received: by mail-wr1-f43.google.com with SMTP id m9so6422443wrb.1 for <49822@debbugs.gnu.org>; Sun, 05 Sep 2021 11:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=441ZZToEu7h/K7oLsF/hYABKE4oqo5VgFcNjoZnSofk=; b=ellhdvxM7OV933riF3UCDACNFTZax+nMDg/Bk97GrMBUEkm+0S4ulL1nNcg4qhXHgM xhY4NfKVKbRr/v7TyUFuYIY3m1Lng90wNHC1WA2fQpkGylu0us3Lcj59DNtyzLllyUe/ RuDZsK+MPUqWcOgvYyzTovxIGRCZLiSp6Kt7MNFV044b65kv7W3j2z4TLSFlb6TOEALt 7wwuSHa8JYXdyJHP4poW3cC5Wb6R6cgGDBC3sP9g9O+lJge3mxt+rqL4n5ycE9xXT5mt +0odYNqHhKNB2CDbadYxu5GgcuB09eSUE8IdZHR6R6sCfLE1sDWO7V9xTb9pYvDB3QWl sDrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=441ZZToEu7h/K7oLsF/hYABKE4oqo5VgFcNjoZnSofk=; b=RTZzvNTQUVjJBc5aGw02iDMAH4yoXeyVA5xf2GmPiwYY5acEHO3YyWFVP975aq5a12 IaVBEFaeOCzRsY8j8fgbBhkOj+HAxKEjboPJ5rP2W2jZChgQwmnK90CAwCtOIXJciK7C kMkmbvQ9rKD+fotnlYhcmVhpSLePO2RpkdkFGyrrNUH472k4a1+m9jQ9etDmItH3u30g EKXpDcIWf10F1zqWZAaHc+8CJGq07XX34mKsci+dbaTpYhJsFe+dGgxmoKFy9G3BFB5y weAgI2F8Ad6vhJ0JVVpqo4l0+W775YSzwNvQTSvX/xCrwafQkQ4U+kZRPl4BMikVYVcY iJJg== X-Gm-Message-State: AOAM533OAGdKpZwgkBxOewi+q9inyMd3d3/Qc9expzNzDVMWMhiv2yOJ U39ixhdBCIo1jExE8nnYRes= X-Google-Smtp-Source: ABdhPJx8mpyYlNYPQ7JuV4LysYGLsklyboV8C4CmUCtkBPIln5Bshi4e5TycMYtV5txCnBxq/wbtYg== X-Received: by 2002:a5d:6cc9:: with SMTP id c9mr9243493wrc.158.1630867251254; Sun, 05 Sep 2021 11:40:51 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id g1sm5315411wmk.2.2021.09.05.11.40.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Sep 2021 11:40:50 -0700 (PDT) From: Augusto Stoffel To: Andreas Schwab Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> Date: Sun, 05 Sep 2021 20:40:49 +0200 In-Reply-To: <87v93fnfmm.fsf@igel.home> (Andreas Schwab's message of "Sun, 05 Sep 2021 18:36:49 +0200") Message-ID: <87lf4aooge.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Stefan Monnier , emacs-devel@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 Sun, 5 Sep 2021 at 18:36, Andreas Schwab wrote: > On Sep 04 2021, Augusto Stoffel wrote: > >> I've attached a patch that reverts to using temporary files for >> sufficiently long strings (would this magic 4096 ever require >> customization?). > > On BSD-like systems, the limit is 1024. > > Andreas. Okay, so is the TTY line length limit of the OS available in Lisp somewhere? Otherwise, can we at least trust that 1024 is the universal lower bound? From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 03:43:55 2021 Received: (at 49822) by debbugs.gnu.org; 6 Sep 2021 07:43:56 +0000 Received: from localhost ([127.0.0.1]:51563 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mN9IJ-0001LL-P2 for submit@debbugs.gnu.org; Mon, 06 Sep 2021 03:43:55 -0400 Received: from mout.gmx.net ([212.227.17.20]:59845) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mN9IH-0001L1-F0 for 49822@debbugs.gnu.org; Mon, 06 Sep 2021 03:43:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1630914222; bh=89KXExX0LQqgoiQBxVX/sLNs+Z6N7QlB4EFCjHQnPKg=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=BNHKA2/BQz8wq7wVBEapUHNSDfidnz9TSE6X8buH4pmaT805ccWl/4HoJg0LZBGlj 6xbiUG8GUy4By9FLzcDad4GZyQuP8G+heRAOXrC0f6VRaWFt5qEwzrbC5AaR9np8lv mael0qszgSySF/LfQiK0PYfRWNxh7RSftFxy1W2o= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([79.140.124.110]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mn2WF-1mmc4Q3iKt-00k8eN; Mon, 06 Sep 2021 09:43:42 +0200 From: Michael Albinus To: Augusto Stoffel Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> Date: Mon, 06 Sep 2021 09:43:39 +0200 In-Reply-To: <87lf4aooge.fsf@gmail.com> (Augusto Stoffel's message of "Sun, 05 Sep 2021 20:40:49 +0200") Message-ID: <878s0a409g.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:lgNj0mkgz1Jz0uLXmu6vjhBCFDyzBN5pfXswfIUORLdX2VJZzG0 Ha0Yv4NdBSOVoxje1w/UJuot+sGJCF+dcA9BzZZeymZ4ZcdQ5Ycqok0A4vX4S2XMtnl0JzE 5z7Uf1WLJ3FVABn7nrlkVaDG++W0TfIAO7pLDYdeDrhTs36XqBLxa1r8tj5T7jmfDYRo/m5 9iDJBA3G0qKz7m7czdDZQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:wrN1AbjGWNU=:4qg8b8nbj2kgc4ijUWHlWh lQ3MLwOKPY598zaLJEe9xQSVp7lh9KiRDU1TGSfZIV0PxA43btFg53UVuP092M+uGTmJMe1Wa X2S+lBXoWL/MMlZECPpMtlJSTwohHfEB/soS3hogEHJmP+GFss6WG0RatZM6SK9pCfXDa4a/b Bye4nuqaxDIpjbiF+DuiCvK43NottGpDYUMsE6jLvsgizKf2cRx0GFzn6tCnpuNE47f7hnhio iJVUDtSomhKPlV7BTZfrkqmzrYULl93rl9JM9CLVN3rzzcQNChUmBhsqNxHZKG0qe17Hn2fcn txSpMI/wZ8LRc6NzTR9gyXgsZg3A2QHLs1xSq2FRhjtZteeIMRmUnDJW2IPuXRgGjGY6l+9pR usloBMkhyCCZlwVUmyAiBe13k52oJ3HeG4YZchBQ8kOYviuieNXdpgA7A4GRlXA40DcJR3HPK ZXjtDHUXsITsVHapw9KaSdt0iPazprvViUZWfkMBQIEfvn1LmSAB6PLe2j/Xn2vzlDwdiNsHs 1Jsc+8w4EMninkuPY+ee/mENuuH5hZiT2txTVR5SeQ/yrTvRg3Gro4jEfkuSWRiYdE2BZfZoW aOgHAcqvBambT19+gJBDG+ydbEe7q5isePM/6kE8hYQztV6dT4qoUYHByZ/j0RgICXlZrE5oL mTR95TDZ1YCTscF8kNUYXL9wGcRB1oqdHyyW2uc0ZWe+rU4vJEFvbGbAONj3xvJTTUzfSFqUH Q7iX6eXvMEL9IHrmWLOJA8A5+qinhJ3SPjJ+qkT1tKdIZren+IMhYc6O/rjF+1apLsRIRPnjV Jaqp+wAlQAVjveABJStGRmew9BQNU/azi/oQ8YVn3wRP6baXRy3ss9HyplIInwIF91dSfRcUx ghC/4CwJXHu7OhzxYyMvw3uBPFA0WbYOlpmm+pRNoqfBOimh5mdUqBLNiPe/Al4gAqzntLxJx RIRFd9V+PbBeYGxDPDWo9vg3l7G2lT2QBxWJc4DWP8L3S0InUhTcqmvnjeJn9S1N5zI+LZ/Uo hp/9kU8pibniHUMBBrwRitEGKv9JH0Jts3iT2UBt/dJ77hZaauPC91bbuIxaUeEuAB6Aa7N5X XrUiEKsXxgBxBt3X891mfS59fBqRViiea1CDA7IkGigNS/6P7jLxCfPxQ== X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Andreas Schwab , Stefan Monnier , emacs-devel@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 (-) Augusto Stoffel writes: > Okay, so is the TTY line length limit of the OS available in Lisp > somewhere? Otherwise, can we at least trust that 1024 is the universal > lower bound? On systems with a POSIX shell: --8<---------------cut here---------------start------------->8--- (let ((default-directory "/")) (read (shell-command-to-string "getconf LINE_MAX"))) --8<---------------cut here---------------end--------------->8--- Note, that this can differ when you connect to remote hosts. That's why I have bound default-directory to a local file name in the example. Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 04:41:06 2021 Received: (at 49822) by debbugs.gnu.org; 6 Sep 2021 08:41:06 +0000 Received: from localhost ([127.0.0.1]:51721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNABe-00035X-BZ for submit@debbugs.gnu.org; Mon, 06 Sep 2021 04:41:06 -0400 Received: from mail-out.m-online.net ([212.18.0.10]:45077) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNABZ-00034w-Iv for 49822@debbugs.gnu.org; Mon, 06 Sep 2021 04:41:04 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4H32172z4Gz1sC07; Mon, 6 Sep 2021 10:40:59 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4H32170Ql6z1qqkJ; Mon, 6 Sep 2021 10:40:59 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id MddcPPOZ_CKS; Mon, 6 Sep 2021 10:40:58 +0200 (CEST) X-Auth-Info: Q/ZmGQtXm1THT8wL8+akddgVSrMBIR5MN2b6ah0dWdZ6wvLnzixClXKwMeBNQcZq Received: from igel.home (ppp-46-244-168-66.dynamic.mnet-online.de [46.244.168.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 6 Sep 2021 10:40:58 +0200 (CEST) Received: by igel.home (Postfix, from userid 1000) id 8F44D2C2555; Mon, 6 Sep 2021 10:40:57 +0200 (CEST) From: Andreas Schwab To: Michael Albinus Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> X-Yow: I had a lease on an OEDIPUS COMPLEX back in '81... Date: Mon, 06 Sep 2021 10:40:57 +0200 In-Reply-To: <878s0a409g.fsf@gmx.de> (Michael Albinus's message of "Mon, 06 Sep 2021 09:43:39 +0200") Message-ID: <87ilzef65i.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Augusto Stoffel , Stefan Monnier , emacs-devel@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.5 (-) On Sep 06 2021, Michael Albinus wrote: > Augusto Stoffel writes: > >> Okay, so is the TTY line length limit of the OS available in Lisp >> somewhere? Otherwise, can we at least trust that 1024 is the universal >> lower bound? > > On systems with a POSIX shell: > > (let ((default-directory "/")) > (read (shell-command-to-string "getconf LINE_MAX"))) LINE_MAX has nothing to do with the tty line discipline. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 07:23:22 2021 Received: (at 49822) by debbugs.gnu.org; 6 Sep 2021 11:23:22 +0000 Received: from localhost ([127.0.0.1]:52177 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNCig-00020x-F9 for submit@debbugs.gnu.org; Mon, 06 Sep 2021 07:23:22 -0400 Received: from mout.gmx.net ([212.227.15.19]:39871) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNCie-00020j-07 for 49822@debbugs.gnu.org; Mon, 06 Sep 2021 07:23:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1630927388; bh=34zL4qLf4PqzfDfwSdehrh+6jQOiWzBh0xUAuqpRzRo=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=Dpy8svGzV6hO5lDbMwbzCcmP0g8nvl0G2YP2RqAu+0ESvevAPg7VYOPr6OTPlYVWm hWPP/HvfCCon9kf5kVj6Hy0VhdvhaL5kYlbNwZOySa1d2Git853g6Sh+T+2Xu7y1XV P037GKzTf2V0fPm0lMC3ZTPIaqVzNjHlmWqsYKek= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([79.140.124.110]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mt79P-1nFiFB0i4X-00tVW2; Mon, 06 Sep 2021 13:23:08 +0200 From: Michael Albinus To: Andreas Schwab Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> Date: Mon, 06 Sep 2021 13:23:05 +0200 In-Reply-To: <87ilzef65i.fsf@igel.home> (Andreas Schwab's message of "Mon, 06 Sep 2021 10:40:57 +0200") Message-ID: <878s0aeyna.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:OgFILe2injmiIq0nZ6oGVW2wtwMrvCcCwhmlT9sil7+uDQNNWCh 9Gf6bOonGLs8cbPFb8kIpBIXi769yhTOf/3OMIq/nnVQu2cU0hKueeEZenOFtixDaqmRd+U KhZQa+7gWRwYWrcb6y3UPjDQYOlGobUWKJ6S1622x5jBs+YMNyclvsr3rfhAihSo/jIjL/B tjzS3WujgtnkscZ26kUuA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:sNoDKQSIt7M=:WnripIDxEt72Uh12yWPFI2 rT+/G95ywNntxG62M/61cIoRUni2YWfIZk9cDYBE0f5M44LDoQEsXUXTE3j48RLwqU7XUuh8m wAPpB5/Gcruuq5Q0Z35Jq+qMGx6PpX9DQctE0L2ThliUY7ngv7ZfmVh76pPzGiaTHiTmHXn+v kqsq8Rk9cshegrMLGGbA4dDJBgVcyYsCojIwmgPKfQkBdKLOjJvbsx7Ega5rwoSeqsl6y4RRl zLcmkkNTrpYPhzxsWHGzxjs0TjXNiQNG3YODw6nk4QWlkQRgwgSuLgcbthb4CES4RRyUY7ZcN CvXg0xXRxeqBqX3VptFXKfhhNqdvPv1qWLZngfDgPeuXw9hPzCJF7hwIJ8xnRizCzmL1kDTA3 lF6nF8ipqeCJbMz6ZnJBklAfMj8Z5Wzrkb6OBSe0qBnfzO/pRVRIPHn7TN9L1M47Sd98H07kP xhGjPvZKY0AydrEX+9fpz0NTIpnm8BibMcoRGsqqIff+O71MCCVbVQfR4fvsEEFfsoGpwLbd9 gwolsxkSIk6CWvnQx28Tv/KQ9HAoyJsN3K5kW5ygBvayM1he1FPzyEEnRc+9BQBSMCIhqWRFk 2fJ6PboiyPKFSarM0LaWrhYqZjXm46u6ckrICw0gDAzWN1eDu4fxExIhAS4jDdE3o1tHy8OiG yLJaFaz44D0+f19HcK1y6HvxyIoKYUjqouQqaVkepOjYx60aNC7MZ2aFahSAARNmYt6/Eynih 6h2JfLvmbNZA009ekhMFLTqBO6Pk0Xi7i57Rr1t0ulkZZb0J6XHjQlw6QUfwNe+5ioqEUUOEy itz2xbfv85YcZCEaXb/un0XR5S6Ov/TNROeq/MvK+4XY4+WJ5C1MQSOcRTBEM6RpV0qWu103w /brLkLVBin+yC08k1N+9xuTUHTxsWvkMj4bRsbxEIHOKX0XJm26F57fxFypPSm+TZNVO24p6a WkjRS8RXLfcdODAXzJfpKogQkczY0BXBhc/trjK9ZD95UbgcXuZykO122ukqel6qbCDCU9knb z/CT02jrQ7c13QQpXuqVC1i4lsyxa81PqZSqp7OUmYzBfLtrhzSpfA7EW70yCojZxkzwR8e5+ hh6op2r2LKq/f2p0j1U/HWB8d3gX09u2en+qbqa3p/+MDrtBS/OUa1yOw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Augusto Stoffel , Stefan Monnier , emacs-devel@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 (-) Andreas Schwab writes: >>> Okay, so is the TTY line length limit of the OS available in Lisp >>> somewhere? Otherwise, can we at least trust that 1024 is the universal >>> lower bound? >> >> On systems with a POSIX shell: >> >> (let ((default-directory "/")) >> (read (shell-command-to-string "getconf LINE_MAX"))) > > LINE_MAX has nothing to do with the tty line discipline. I'll never learn it :-( We've discussed this issue some years ago already. IIRC, the outcome was to use "getconf PIPE_BUF /" instead. > Andreas. Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 07:53:58 2021 Received: (at 49822) by debbugs.gnu.org; 6 Sep 2021 11:53:58 +0000 Received: from localhost ([127.0.0.1]:52228 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNDCI-0004vF-AM for submit@debbugs.gnu.org; Mon, 06 Sep 2021 07:53:58 -0400 Received: from mail-out.m-online.net ([212.18.0.10]:43646) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNDCG-0004v4-5j for 49822@debbugs.gnu.org; Mon, 06 Sep 2021 07:53:56 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4H36Hj71s9z1sCwc; Mon, 6 Sep 2021 13:53:53 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4H36Hj4RhXz1qqkD; Mon, 6 Sep 2021 13:53:53 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id A19iMBra9xf5; Mon, 6 Sep 2021 13:53:52 +0200 (CEST) X-Auth-Info: ZXOa02mWRoYGrhLAya/bifEPogvGV0+MnGYfyEPtmkKuCiPhsV9r+9cauPLFiaLR Received: from igel.home (ppp-46-244-168-66.dynamic.mnet-online.de [46.244.168.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Mon, 6 Sep 2021 13:53:52 +0200 (CEST) Received: by igel.home (Postfix, from userid 1000) id 36FEC2C2589; Mon, 6 Sep 2021 13:53:52 +0200 (CEST) From: Andreas Schwab To: Michael Albinus Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> X-Yow: I'm working under the direct orders of WAYNE NEWTON to deport consenting adults! Date: Mon, 06 Sep 2021 13:53:52 +0200 In-Reply-To: <878s0aeyna.fsf@gmx.de> (Michael Albinus's message of "Mon, 06 Sep 2021 13:23:05 +0200") Message-ID: <87r1e1ex7z.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Augusto Stoffel , Stefan Monnier , emacs-devel@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.5 (-) On Sep 06 2021, Michael Albinus wrote: > Andreas Schwab writes: > >>>> Okay, so is the TTY line length limit of the OS available in Lisp >>>> somewhere? Otherwise, can we at least trust that 1024 is the universal >>>> lower bound? >>> >>> On systems with a POSIX shell: >>> >>> (let ((default-directory "/")) >>> (read (shell-command-to-string "getconf LINE_MAX"))) >> >> LINE_MAX has nothing to do with the tty line discipline. > > I'll never learn it :-( > > We've discussed this issue some years ago already. IIRC, the outcome was > to use "getconf PIPE_BUF /" instead. Neither has PIPE_BUF. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 08:01:10 2021 Received: (at 49822) by debbugs.gnu.org; 6 Sep 2021 12:01:10 +0000 Received: from localhost ([127.0.0.1]:52250 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNDJF-00069L-RE for submit@debbugs.gnu.org; Mon, 06 Sep 2021 08:01:10 -0400 Received: from mout.gmx.net ([212.227.15.15]:51717) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNDJB-00060B-Fh for 49822@debbugs.gnu.org; Mon, 06 Sep 2021 08:01:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1630929654; bh=pKHyJmCDvcSBMBJ+XhXKDkDIEHFa3E4v34susPvF/78=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=PklUOCZYnSY5qEULRmrrl2ugkAs/jTUVe60dV4EbLs9qYLYxwreTjsDydC32kbdyy UGrgYp4ZAHq631PSB0LdXF3IYnKWGXo2zI1SdOb6Or6hF67Ft87zEb4jtfC/X6tcY3 HCmRnoKtm5MwBcXGug9sWvf2UilxqA/U2jzsShek= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([79.140.124.110]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N4hvR-1n44wc3n9D-011iPd; Mon, 06 Sep 2021 14:00:54 +0200 From: Michael Albinus To: Andreas Schwab Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> Date: Mon, 06 Sep 2021 14:00:51 +0200 In-Reply-To: <87r1e1ex7z.fsf@igel.home> (Andreas Schwab's message of "Mon, 06 Sep 2021 13:53:52 +0200") Message-ID: <874kaxgbgs.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:dwLyGTtK8w5SplzuK8Hiw0faPdJVxGf0ZvD+0Xz3HTEoBvUv9Dk PAejzHpjpTcW4oF+myMpIEEUgjnaib1EieaJVD/CUcBBnIvD5gXU52EJ3I033IMBKBw07bm WpG6vy414wgvJ0qSQTK4Lu0sUG5Ki67RDKsmUXkmMyPhpj0WDRdcbL+9lTbb9oZlYWv1n1V UO0NfAoKR2TW3rSdFAaJw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:Aw13uMcBVOY=:VkJp811izPCdnq8Mk7p7VF YfzIMSOWZ9M4DPi5y5qVEybt05dUp2QZNtCrddThry1wLVO99MRvLogZVDdk1JKgh0KkDeLU0 kF3m2+g8noo4Mx6BTFNLRSmJHlIanDOZP0PBI/3vNPcxS16Y94D0Bp7lyGNn3LmCISJiz6bRX a+HC/6b2gFIkwRoJ5RMjnSw/b20A/IDTZvfY9Dz6UiJsVTTtimtQDX6flOSSZG2Rtvvw5ndEr wjkDwMe++XLDn9UhN5Pl/mh7EGzAiybp9i3nnVg93/aEsd5H7qpqH6Sz45ToAtSUKuS2hcoQ5 O6qKL4ngranx4GVIaIIdayCLTpcFp8J6pSXhucXA9zhg80ts4SWj98WY3UEbuuTLyNpwU4GRD Xt6bLXUnLQoPak++4H4ejheL0LOUoFf/l7rkvTzYfemSXAMCaIt7DC1Tf/UNoziyFV4c8hZIO 9igsTD6xFpi5J2w+9dXQn/49Kv7IR9My4jVKd1koqwedRSTaZ8j4Dc+ceWH23emfOVHcj5tqv Y980qRVZk/Hrf6c+XS/B65KDrfd7tLkLtRVYc7lQRO64FSlOsyZz4kMlkX5Eb/88H5JSWKdEa Z7yQgBnXX+sgA8ZRZQss7fWOfwBYScOSCwJ3fOm1iTUUtYD49dyz2UtgQQombpQ3oQTolk/Q7 0SwFxNSLFjLTlLNv97zTovuXokxQpf5PD/E9u7/V7U669SY9auq4Fx4abdVWIa9BFkC6aTE4H 2IAyrPfGgJxubhRR+uIj0Yu1OZ9++z8XqfoGq031uEOMTw6ol0Fp1UaWzCigXLyF8jpTQRA9g kF9NhI+8W66Wtv/ueMfMe6B/+JVj9n0YnvF9WAAlnP3sUCFrA/y9eW6FKUWkneJGvtcQS1voX f3/MSTv1hDlUXz2urYGLzUlE44hsNaS/rIGrldipw1NoY4y0Bmqd1othsGrp+vy1Wvy5ObNqW JUEf+4/uWcZd4Rx/tSFcMXA4i9UBRmlD+lchL4PjWRyJbCo32twEU53Pup7f++dJqg6elTWyQ CdOS2YK76uDqWRBq3s6Nv26zV/apdaffLs7K63Llks7g+bJpjK43od58TtQK2K87e9KLxO8oc FQfFWjXVwg88UPohxOGN8fJIGyR783jcGqZpoM1InUI2GhaIJfWaCYmJw== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Augusto Stoffel , Stefan Monnier , emacs-devel@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 (-) Andreas Schwab writes: > Neither has PIPE_BUF. Great that you always say what's not working. Perhaps you have a better answer to Augusto? > Andreas. Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 12:08:57 2021 Received: (at 49822) by debbugs.gnu.org; 6 Sep 2021 16:08:57 +0000 Received: from localhost ([127.0.0.1]:54286 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNHB3-0007w6-1F for submit@debbugs.gnu.org; Mon, 06 Sep 2021 12:08:57 -0400 Received: from mail-ej1-f51.google.com ([209.85.218.51]:36367) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNHAw-0007vj-Tt for 49822@debbugs.gnu.org; Mon, 06 Sep 2021 12:08:55 -0400 Received: by mail-ej1-f51.google.com with SMTP id bt14so14406206ejb.3 for <49822@debbugs.gnu.org>; Mon, 06 Sep 2021 09:08:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=qb2zpOFH322bxzLdOR8HoPi2ymosraMmBWfdiB2gGVc=; b=dkEQdsWQlwGkW2YhNkqz/zdKE2aqekAABY7C5sWqla6WURHPmOik8uA20ko+W4JSYH XX0oHZjfqKxT7SXX3kDvRCLL4CsaHrn1iaebSRCLlupdRRSsVCOtXFX3LDNtXVze0EpD jWnIrU5dvwiGzteZPU/ddbq613lHCTMMHY2zNpjUOX70OTQvnoHVjN6CnOKgbaW8zf00 169oaMl6iNz5iHBd87k1BG2hDXC5r9KSu/2HnzXBJCST0T5TWz5SI3UhaARu3w0Vbx0y 0C5Ox+XQMyrZS9XwOGqbdvzuM79wlzeQMMsNqJeNiyqOS1QCtzBFOf1DqubeImIXAViS OjMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=qb2zpOFH322bxzLdOR8HoPi2ymosraMmBWfdiB2gGVc=; b=Gl81pB8xxStMGQM0EDSshLe453e4Ua+0aMgdLB2tKllo8MWGHqDBsaTm2JP8iFoOO+ y+/nToa9jJUy+Ugk1/nVwbwZ2sWWtu+Yhh/82DomRoXcoJrt+sUScNmtu8nhyoP6Hbce mWW1vFI3Dyylq4zsmX1rhDn0sqZIykW/GgC632HXoZW+0PFjx2TxXqA5GbRBMRO9hRrt or+hEsWJSymiMlSa3G95Apxs67xsRgh9Ie64ElyFv2QUl6wKuvOlSddzJ7hSjKifW+cL CMSPKsaNiTVOXH+OG0hDmA/jsoPzMhjR603M1Io9ZZuUuE7/XngsyTHpdSot8wZUPfgE pOZQ== X-Gm-Message-State: AOAM5310sulYr/i/dMkulWjCn7Y64O0i6e9Aahpqe/QaBCDkz7ZQhHtx KdmsF65imUgr/Dxwi0pxhOI= X-Google-Smtp-Source: ABdhPJyje0Vol9NUfVQ7LWEx3duW4LGwcxSBwKDxrZ5yh2SaYF0aaZhzWK6W3zvaslQ4CPu7d4jphQ== X-Received: by 2002:a17:907:1c1f:: with SMTP id nc31mr14052901ejc.371.1630944524875; Mon, 06 Sep 2021 09:08:44 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id dy7sm4965868edb.38.2021.09.06.09.08.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Sep 2021 09:08:44 -0700 (PDT) From: Augusto Stoffel To: Michael Albinus Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <874kaxgbgs.fsf@gmx.de> Date: Mon, 06 Sep 2021 18:08:43 +0200 In-Reply-To: <874kaxgbgs.fsf@gmx.de> (Michael Albinus's message of "Mon, 06 Sep 2021 14:00:51 +0200") Message-ID: <87lf49wut0.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, Lars Ingebrigtsen , Andreas Schwab , Stefan Monnier , emacs-devel@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 Mon, 6 Sep 2021 at 14:00, Michael Albinus wrote: > Andreas Schwab writes: > >> Neither has PIPE_BUF. > > Great that you always say what's not working. Perhaps you have a better > answer to Augusto? > >> Andreas. > > Best regards, Michael. Thanks for the ideas. If there's no simple and platform-independent way to obtain the line length limit in a PTY, then I think there's no reason to attempt anything fancy in python.el (or any derived comint mode, for that matter). So the options seem to be: either hard-code a limit of 1024 chars, or create a defcustom with a platform-dependent default. But such a defcustom should probably be part of comint.el, and should be added by someone who (unlike me) actually understands this stuff. Working around a limit of less than 1024 characters is too awkward, so I hope this is a safe assumption. The juggling of temp files that existed in python.el for many years already required lines of ~350 chars, depending on how the OS names temp files. Sorry for introducing a bug in master. I think I got it fixed here, and I'll submit the patch when I'm confident about it. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 06 18:15:56 2021 Received: (at submit) by debbugs.gnu.org; 6 Sep 2021 22:15:56 +0000 Received: from localhost ([127.0.0.1]:54669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNMuC-0000Qi-9v for submit@debbugs.gnu.org; Mon, 06 Sep 2021 18:15:56 -0400 Received: from lists.gnu.org ([209.51.188.17]:49292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNMuA-0000Qb-Jy for submit@debbugs.gnu.org; Mon, 06 Sep 2021 18:15:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43494) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNMuA-0001ee-7g for bug-gnu-emacs@gnu.org; Mon, 06 Sep 2021 18:15:54 -0400 Received: from ciao.gmane.io ([116.202.254.214]:54156) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNMu8-0003CK-ME for bug-gnu-emacs@gnu.org; Mon, 06 Sep 2021 18:15:53 -0400 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1mNMu5-0009sN-8C for bug-gnu-emacs@gnu.org; Tue, 07 Sep 2021 00:15:49 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: bug-gnu-emacs@gnu.org From: Andy Moreton Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files Date: Mon, 06 Sep 2021 23:15:33 +0100 Message-ID: <86h7exxse2.fsf@gmail.com> References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> Mime-Version: 1.0 Content-Type: text/plain User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (windows-nt) Cancel-Lock: sha1:HAP+nfeRWYsP/cUqbIzsY7C4KTI= Received-SPF: pass client-ip=116.202.254.214; envelope-from=geb-bug-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: 5 X-Spam_score: 0.5 X-Spam_bar: / X-Spam_report: (0.5 / 5.0 requ) BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FORGED_GMAIL_RCVD=1, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, NML_ADSP_CUSTOM_MED=0.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.1 (/) X-Debbugs-Envelope-To: submit Cc: emacs-devel@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: -0.9 (/) On Mon 06 Sep 2021, Andreas Schwab wrote: > On Sep 06 2021, Michael Albinus wrote: > >> Andreas Schwab writes: >> >>>>> Okay, so is the TTY line length limit of the OS available in Lisp >>>>> somewhere? Otherwise, can we at least trust that 1024 is the universal >>>>> lower bound? >>>> >>>> On systems with a POSIX shell: >>>> >>>> (let ((default-directory "/")) >>>> (read (shell-command-to-string "getconf LINE_MAX"))) >>> >>> LINE_MAX has nothing to do with the tty line discipline. >> >> I'll never learn it :-( >> >> We've discussed this issue some years ago already. IIRC, the outcome was >> to use "getconf PIPE_BUF /" instead. > > Neither has PIPE_BUF. > > Andreas. Why not stop being so unhelpful and actually share your knowledge of the correct answer ? What precisely is the limitation, and how can it be discovered ? Please explain. AndyM From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 03:18:52 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 07:18:52 +0000 Received: from localhost ([127.0.0.1]:55333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNVNc-0008Cl-DB for submit@debbugs.gnu.org; Tue, 07 Sep 2021 03:18:52 -0400 Received: from mail-out.m-online.net ([212.18.0.9]:58531) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNVNa-0008Cc-ML for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 03:18:51 -0400 Received: from frontend01.mail.m-online.net (unknown [192.168.8.182]) by mail-out.m-online.net (Postfix) with ESMTP id 4H3c7s3WNZz1qwyS; Tue, 7 Sep 2021 09:18:49 +0200 (CEST) Received: from localhost (dynscan1.mnet-online.de [192.168.6.70]) by mail.m-online.net (Postfix) with ESMTP id 4H3c7s1nVBz1qqkC; Tue, 7 Sep 2021 09:18:49 +0200 (CEST) X-Virus-Scanned: amavisd-new at mnet-online.de Received: from mail.mnet-online.de ([192.168.8.182]) by localhost (dynscan1.mail.m-online.net [192.168.6.70]) (amavisd-new, port 10024) with ESMTP id A1bRi3_TIvZg; Tue, 7 Sep 2021 09:18:48 +0200 (CEST) X-Auth-Info: yuYej/lVod/ft6GUyHdjk5XMEG6JGaeL6n27ge7K6DiWKmshXQJF9egrNcSBjCeP Received: from igel.home (ppp-46-244-161-139.dynamic.mnet-online.de [46.244.161.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.mnet-online.de (Postfix) with ESMTPSA; Tue, 7 Sep 2021 09:18:48 +0200 (CEST) Received: by igel.home (Postfix, from userid 1000) id D0A2C2C1F9E; Tue, 7 Sep 2021 09:18:47 +0200 (CEST) From: Andreas Schwab To: Andy Moreton Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <86h7exxse2.fsf@gmail.com> X-Yow: .. he dominates the DECADENT SUBWAY SCENE. Date: Tue, 07 Sep 2021 09:18:47 +0200 In-Reply-To: <86h7exxse2.fsf@gmail.com> (Andy Moreton's message of "Mon, 06 Sep 2021 23:15:33 +0100") Message-ID: <87sfygc0q0.fsf@igel.home> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.5 (/) X-Debbugs-Envelope-To: 49822 Cc: 49822@debbugs.gnu.org, emacs-devel@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.5 (-) On Sep 06 2021, Andy Moreton wrote: > On Mon 06 Sep 2021, Andreas Schwab wrote: > >> On Sep 06 2021, Michael Albinus wrote: >> >>> Andreas Schwab writes: >>> >>>>>> Okay, so is the TTY line length limit of the OS available in Lisp >>>>>> somewhere? Otherwise, can we at least trust that 1024 is the universal >>>>>> lower bound? >>>>> >>>>> On systems with a POSIX shell: >>>>> >>>>> (let ((default-directory "/")) >>>>> (read (shell-command-to-string "getconf LINE_MAX"))) >>>> >>>> LINE_MAX has nothing to do with the tty line discipline. >>> >>> I'll never learn it :-( >>> >>> We've discussed this issue some years ago already. IIRC, the outcome was >>> to use "getconf PIPE_BUF /" instead. >> >> Neither has PIPE_BUF. >> >> Andreas. > > Why not stop being so unhelpful and actually share your knowledge of > the correct answer ? Why not stop being so unhelpful and actually share your knowledge of the correct answer? Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different." From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 13:37:52 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 17:37:52 +0000 Received: from localhost ([127.0.0.1]:57570 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNf2e-0002P1-Eh for submit@debbugs.gnu.org; Tue, 07 Sep 2021 13:37:52 -0400 Received: from mail-wr1-f49.google.com ([209.85.221.49]:46814) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNf2b-0002Oi-MN for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 13:37:50 -0400 Received: by mail-wr1-f49.google.com with SMTP id x6so15587910wrv.13 for <49822@debbugs.gnu.org>; Tue, 07 Sep 2021 10:37:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=K/FdNijzDKYaqBU/E5N2f74enNre7wppLpqwcmvuE6g=; b=ElrTNOLajdMbEHqcwsuzo08s5FV61dMd9SfkL26y4DpwyIunpQDAxIo3lXVnDhvhUR h3GjxPSWh5c5P/pVx/0MD6mxIbeRv6m34vcn9Lpp8WRCO/uq91YYNSS3a44f+g0uGy2K 5scBHX97CjZOB2pDcXHnNhiiv3qEWgTVx3EgGOHHvizcO8o5Kt+E4T8+OndjEYbqz3gW pkj/3V93XMpnOiMqJpjfnYuAcK/j8TTVo7YyN3+IC12yDC7vfTJfrr5AnyCoxUs95gSa ZP19MUow4l7KmMUMNC9udXN7noKp3P5ENRbq0JXb16HAqN4ZC8OsUifssgQFNxeBV0WB O8lg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=K/FdNijzDKYaqBU/E5N2f74enNre7wppLpqwcmvuE6g=; b=tT9eqojvM//wKw6LolyJtxtBIqqLdtKoWXg2KTOp/z7C9/qntAa/G7eaLZLLR4PEHa bGwvlAr8guLbC+cLrffTXF5u7IJxSBt8en+cJJLqy70amks6ufP8z8KbjrV2Nvxb5dn1 Cj2++bMKcTZZFrTErXDLc/+aHPy8Ja1CmvOQ1NdrmFprv/F8trDrIXo+s1+UUjUW+wmF gzVov+oof75nPQMLtLEV1SI8sA+SoUoefyFgIx3UYLxH+XUSx7B/oZ28CRHuPBh5+kPv 128gFvwgZ7iinLeKMwOjjSdBZedM9DvH6qVGYUoj0dgrXyLvasMZVK5ddGxqAABmwqEb iLbg== X-Gm-Message-State: AOAM530N7PblBOnHqqxUowNngJ+r+4ymVNLGeQJ80OrC/uEK0abIxoAA MN3mJljctgeQEBV49LgPNL8= X-Google-Smtp-Source: ABdhPJyTf3uMJiJqMzLmXPeIA2UYxIVAeNaN2nclS2WL4mjkMlnifOmElRo96eKk7kYQoR/2tDz7GQ== X-Received: by 2002:a5d:4643:: with SMTP id j3mr20292031wrs.138.1631036263646; Tue, 07 Sep 2021 10:37:43 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id a6sm3139561wmb.7.2021.09.07.10.37.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Sep 2021 10:37:42 -0700 (PDT) From: Augusto Stoffel To: "Barton, Mark" Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> Date: Tue, 07 Sep 2021 19:37:41 +0200 In-Reply-To: <87r1e1ex7z.fsf@igel.home> (Andreas Schwab's message of "Mon, 06 Sep 2021 13:53:52 +0200") Message-ID: <875yvcmgm2.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: Andy Moreton , emacs-devel@gnu.org, Andreas Schwab , Stefan Monnier , 49822@debbugs.gnu.org, Michael Albinus , Lars Ingebrigtsen 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 (-) --=-=-= Content-Type: text/plain On Mon, 6 Sep 2021 at 13:53, Andreas Schwab wrote: > On Sep 06 2021, Michael Albinus wrote: > >> Andreas Schwab writes: >> >>>>> Okay, so is the TTY line length limit of the OS available in Lisp >>>>> somewhere? Otherwise, can we at least trust that 1024 is the universal >>>>> lower bound? >>>> >>>> On systems with a POSIX shell: >>>> >>>> (let ((default-directory "/")) >>>> (read (shell-command-to-string "getconf LINE_MAX"))) >>> >>> LINE_MAX has nothing to do with the tty line discipline. >> >> I'll never learn it :-( >> >> We've discussed this issue some years ago already. IIRC, the outcome was >> to use "getconf PIPE_BUF /" instead. > > Neither has PIPE_BUF. > > Andreas. Okay then. Since there seem to be no better alternatives, I have attached a new patch reducing the limit to a hard-coded 1024 bytes. If some day someone adds a variable specifying a more precise limit, then we can change this. I have also rearranged things a bit so that the setup code is sent to the inferior process just once, rather than of on every call to `python-shell-send-string'. This way, the smaller line length limit doesn't increase too much the use of temp files, which, as I mentioned, is slow over ssh. It would be great if someone with access to a BSD-like OS could test this. I can only test locally on Linux and over ssh between Linux machines. PS: I have some more suggestions around the Python shell. Is the ideal workflow to keep creating bugs with a small patch to each improvement, or do you prefer to review a larger collection of changes bundled together? --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Reduce-limit-of-line-length-sent-to-the-Python-infer.patch >From 05947ad82219af3f4bcb228f076995f181a7255d Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Mon, 6 Sep 2021 23:34:48 +0200 Subject: [PATCH] Reduce limit of line length sent to the Python inferior * lisp/progmodes/python.el (python-shell-comint-watch-for-first-prompt-output-filter): Send setup code to the inferior process only once and at this stage. (python-shell-send-string-no-output): Revert changes of e32c7d2a8d (python-shell-send-string): Assume a smaller TTY line length limit, as required by some OSes. (python-shell-send-file): Ditto. --- lisp/progmodes/python.el | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d8ec032402..347c3ffe00 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2826,6 +2826,15 @@ python-shell-comint-watch-for-first-prompt-output-filter (setq python-shell--first-prompt-received-output-buffer nil) (setq-local python-shell--first-prompt-received t) (setq python-shell--first-prompt-received-output-buffer nil) + (cl-letf (((symbol-function 'python-shell-send-string) + (lambda (string process) + (comint-send-string + process + (format "exec(%s)\n" (python-shell--encode-string string)))))) + ;; Bootstrap: the normal definition of `python-shell-send-string' + ;; depends on the Python code sent here. + (python-shell-send-string-no-output python-shell-eval-setup-code) + (python-shell-send-string-no-output python-shell-eval-file-setup-code)) (with-current-buffer (current-buffer) (let ((inhibit-quit nil)) (run-hooks 'python-shell-first-prompt-hook)))))) @@ -3128,12 +3137,11 @@ python-shell-send-string (interactive (list (read-string "Python command: ") nil t)) (let ((process (or process (python-shell-get-process-or-error msg))) - (code (format "exec(%s);__PYTHON_EL_eval(%s, %s)\n" - (python-shell--encode-string python-shell-eval-setup-code) + (code (format "__PYTHON_EL_eval(%s, %s)\n" (python-shell--encode-string string) (python-shell--encode-string (or (buffer-file-name) ""))))) - (if (<= (string-bytes code) 4096) + (if (<= (string-bytes code) 1024) (comint-send-string process code) (let* ((temp-file-name (with-current-buffer (process-buffer process) (python-shell--save-temp-file string))) @@ -3180,8 +3188,7 @@ python-shell-send-string-no-output (inhibit-quit t)) (or (with-local-quit - (comint-send-string - process (format "exec(%s)\n" (python-shell--encode-string string))) + (python-shell-send-string string process) (while python-shell-output-filter-in-progress ;; `python-shell-output-filter' takes care of setting ;; `python-shell-output-filter-in-progress' to NIL after it @@ -3419,9 +3426,7 @@ python-shell-send-file (comint-send-string process (format - "exec(%s);exec(%s);__PYTHON_EL_eval_file(%s, %s, %s, %s)\n" - (python-shell--encode-string python-shell-eval-setup-code) - (python-shell--encode-string python-shell-eval-file-setup-code) + "__PYTHON_EL_eval_file(%s, %s, %s, %s)\n" (python-shell--encode-string file-name) (python-shell--encode-string (or temp-file-name "")) (python-shell--encode-string (symbol-name encoding)) -- 2.31.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 13:48:28 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 17:48:28 +0000 Received: from localhost ([127.0.0.1]:57611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfCq-0004wm-Gz for submit@debbugs.gnu.org; Tue, 07 Sep 2021 13:48:28 -0400 Received: from eggs.gnu.org ([209.51.188.92]:60834) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfCo-0004wR-89 for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 13:48:22 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:59106) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mNfCh-0005qz-G0; Tue, 07 Sep 2021 13:48:15 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:4512 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNfCg-0003Fi-V6; Tue, 07 Sep 2021 13:48:15 -0400 Date: Tue, 07 Sep 2021 20:48:21 +0300 Message-Id: <83y288nuoq.fsf@gnu.org> From: Eli Zaretskii To: Augusto Stoffel In-Reply-To: <875yvcmgm2.fsf@gmail.com> (message from Augusto Stoffel on Tue, 07 Sep 2021 19:37:41 +0200) Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 (-) > From: Augusto Stoffel > Date: Tue, 07 Sep 2021 19:37:41 +0200 > Cc: Andy Moreton , emacs-devel@gnu.org, > Andreas Schwab , > Stefan Monnier , 49822@debbugs.gnu.org, > Michael Albinus , Lars Ingebrigtsen > > Okay then. Since there seem to be no better alternatives, I have > attached a new patch reducing the limit to a hard-coded 1024 bytes. If > some day someone adds a variable specifying a more precise limit, then > we can change this. I thought the conclusion was that we do know the limits, but they are different on different OSes? If so, why not use the correct limit for each OS, instead of using the most strict limit? The underlying OS is available in system-type. > - (if (<= (string-bytes code) 4096) > + (if (<= (string-bytes code) 1024) In any case, IMO this should be a defconst with a suitable doc string, so that we'd have this stuff documented for posterity. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 13:59:19 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 17:59:19 +0000 Received: from localhost ([127.0.0.1]:57640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfNL-0005JH-4z for submit@debbugs.gnu.org; Tue, 07 Sep 2021 13:59:19 -0400 Received: from mail-ej1-f42.google.com ([209.85.218.42]:35524) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfNJ-0005J2-Of for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 13:59:14 -0400 Received: by mail-ej1-f42.google.com with SMTP id i21so21334283ejd.2 for <49822@debbugs.gnu.org>; Tue, 07 Sep 2021 10:59:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=kcHrW/WGr2OsJ5ODSg/ya2BRiyjWnS9NBtoH0p1XbkM=; b=iNRnyT1NDJyIYGmjSVXbRQV5s79xoFSYZi4YKfSXWKn8BDD+IlmXjpcHq1vkA7q5cD MnwRXlm2f8jF3qs3ZDrJ9kephhdurOjGBakxdTa7MaadCLsHoJ1F+tPtFL23Gw+FVlWt e3ll41AkK09wzBbW4TgkT1FdOeXSqoKGo0HOlxS3pvgH+3xlAhV1LPfEaPdpHR86UKrR +sQEaJeYv1TJQKtOnJ+5skRNmup+xPn/d6f8AYefzT1g/4xFnIlOIB4XJKKdIKanX61m rg4Wc6VmWbktx9uLJGIifbrySe6FiW1SEiz9nE4d46wSEefzAJLiS9egcxAuam0a5w1n lhJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=kcHrW/WGr2OsJ5ODSg/ya2BRiyjWnS9NBtoH0p1XbkM=; b=aRSJovA42A/U3KneXd6lxBspyEq8Ly75qLPEre2rJtS0uN4Pg+PI/ugRXHkX0OVevL Bzu3hMTDdboCK4atxdTGN3mfPM2JzbgHAP9CbaO+s2yw2NKiUKgb9di0mWLgQdHx7q4r kFfFDg9AIUgRVbPn7sgJ7aG0TEecaVYeUFjAww4Te6XGCV6urgypAWHNQrcLIy+mWQ+r p10nUpA2tRMhYqlaMg7G6KTZ0BHRXKahGgY1nNj06ZyBZgXiXqgX5axuiIUFCYIltVoA hvubnBh7evmGWmX7Y/1P99j63prr4aSxoByjit/FK2oxT0jLvOOMmLVweQAW0tpE2Nvo YkQQ== X-Gm-Message-State: AOAM531gpZ4AQ02d/OAoR1ij38n8Py1acXL0kLGTwluHpHdJN06UU1Xr rIFPjf4P8g3oS3aZA8Q/mf0= X-Google-Smtp-Source: ABdhPJzDY5r6/ew4knAcuwtEd8sBl0OdqUOY6ciJSFqoMt4htAe54KBGzhsXS/wmIS7q0Gg72vLUEQ== X-Received: by 2002:a17:907:c10:: with SMTP id ga16mr20329955ejc.174.1631037547726; Tue, 07 Sep 2021 10:59:07 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id l24sm416699edq.36.2021.09.07.10.59.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Sep 2021 10:59:07 -0700 (PDT) From: Augusto Stoffel To: Eli Zaretskii Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> Date: Tue, 07 Sep 2021 19:59:06 +0200 In-Reply-To: <83y288nuoq.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 07 Sep 2021 20:48:21 +0300") Message-ID: <87sfygl11x.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 Tue, 7 Sep 2021 at 20:48, Eli Zaretskii wrote: >> From: Augusto Stoffel >> Date: Tue, 07 Sep 2021 19:37:41 +0200 >> Cc: Andy Moreton , emacs-devel@gnu.org, >> Andreas Schwab , >> Stefan Monnier , 49822@debbugs.gnu.org, >> Michael Albinus , Lars Ingebrigtsen >> >> Okay then. Since there seem to be no better alternatives, I have >> attached a new patch reducing the limit to a hard-coded 1024 bytes. If >> some day someone adds a variable specifying a more precise limit, then >> we can change this. > > I thought the conclusion was that we do know the limits, but they are > different on different OSes? If so, why not use the correct limit for > each OS, instead of using the most strict limit? The underlying OS is > available in system-type. > >> - (if (<= (string-bytes code) 4096) >> + (if (<= (string-bytes code) 1024) > > In any case, IMO this should be a defconst with a suitable doc string, > so that we'd have this stuff documented for posterity. > > Thanks. Yes, I agree this should be a defconst, defined in comint.el or maybe even in C, if there turns out to be a sensible way to query the OS. I'm afraid I've already proved that I am not up to this particular task :-) From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 14:13:49 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 18:13:49 +0000 Received: from localhost ([127.0.0.1]:57691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfbN-0007vT-DR for submit@debbugs.gnu.org; Tue, 07 Sep 2021 14:13:49 -0400 Received: from mail-ej1-f43.google.com ([209.85.218.43]:33343) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfbL-0007vG-Bq for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 14:13:43 -0400 Received: by mail-ej1-f43.google.com with SMTP id x11so93036ejv.0 for <49822@debbugs.gnu.org>; Tue, 07 Sep 2021 11:13:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=zrxWbBgwYFPZILvNVd2y8BTvMf3bmCfD58uD+kGyzCk=; b=Egj2spMc8Y7U7/qrHK++wAHpfj3Rtw5E+ehcMtawYFt6U0nDnDOzsuyV71p83ObleK TNrUuZDkSU3tRx8mbdcef+Iv5G3gKy6ZNOFcV2IwKWw/e4Qaq+N1iiVcyCMaN68t0ZFH tD8ChFDI12OBmJYEjx1vXCS+hocFDWp1V2Uq0I/w01bwsRIHxIc/kJpjhcOpOoMeoD+y eSgo174/VgU1/62eJdw04/+WU1RX4cadxUGQrIP7ZSY+8GxHsQK17kZJnlceoMnBaagX Xa6iRxwe1Pt84o2BR6ogj0icAgRIuv8YhnYsgKsdNmmA4GFSfCC/g2Wk+jdbfe4h8wAo nIhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=zrxWbBgwYFPZILvNVd2y8BTvMf3bmCfD58uD+kGyzCk=; b=cVot89X/bCEojWB0atM6wTdTZj9pRAVt+Dwq6zqd1LEpVG3IlW/fg5iLt3wlSHZcfR McSmkGtVzlkJ++FOopUufPpQtYcOYf8U76shkoDlHADhMrDVfjAWVUuzTKnq33EuSkYx l5pskxHMNObQ76ybuLYWig80NOBRo20krV1f0eggO3eSELJOI3won7fkKl4PSiA+SGQt +/UI77Rv3xcxkj6NCJCRKBJC0kjjKqlCzdQ4RxpZ+dgS6suV2K4acHSV1F9/t0q34Fbd 7Pe9VRFnT2dv4zCrVZZ3k5kpvjLXTR1yeUaMXSuAr/+4Au5i+w2te1VO56dxyY5lDE2X CF8g== X-Gm-Message-State: AOAM532ePoXjl7kcFJNiHCObYH8uHO/EUtxeWDAVCbUpLSWeoAse13ZY czgepkLqBSF7s+I9VJfpYS4= X-Google-Smtp-Source: ABdhPJxObNyusEX8iIeKE8MkeHlijLwMreBdtOsRPqWq5QwCx8n4jdP64JqG905d9+UYKSPilp8rgA== X-Received: by 2002:a17:906:fc7:: with SMTP id c7mr20434084ejk.333.1631038417475; Tue, 07 Sep 2021 11:13:37 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id k15sm5868471ejb.92.2021.09.07.11.13.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Sep 2021 11:13:37 -0700 (PDT) From: Augusto Stoffel To: Eli Zaretskii Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> Date: Tue, 07 Sep 2021 20:13:36 +0200 In-Reply-To: <83y288nuoq.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 07 Sep 2021 20:48:21 +0300") Message-ID: <87o894l0dr.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 Tue, 7 Sep 2021 at 20:48, Eli Zaretskii wrote: >> From: Augusto Stoffel >> Date: Tue, 07 Sep 2021 19:37:41 +0200 >> Cc: Andy Moreton , emacs-devel@gnu.org, >> Andreas Schwab , >> Stefan Monnier , 49822@debbugs.gnu.org, >> Michael Albinus , Lars Ingebrigtsen >> >> Okay then. Since there seem to be no better alternatives, I have >> attached a new patch reducing the limit to a hard-coded 1024 bytes. If >> some day someone adds a variable specifying a more precise limit, then >> we can change this. > > I thought the conclusion was that we do know the limits, but they are > different on different OSes? If so, why not use the correct limit for > each OS, instead of using the most strict limit? The underlying OS is > available in system-type. > >> - (if (<= (string-bytes code) 4096) >> + (if (<= (string-bytes code) 1024) > > In any case, IMO this should be a defconst with a suitable doc string, > so that we'd have this stuff documented for posterity. > > Thanks. Another open question (at least to me) is what happens when you put an SSH connection in the game. Presumably it has some buffer limits as well, and this seems even harder to determine exactly. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 14:19:09 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 18:19:09 +0000 Received: from localhost ([127.0.0.1]:57709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfgW-0001nc-9U for submit@debbugs.gnu.org; Tue, 07 Sep 2021 14:19:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38574) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfgU-0001mf-NI for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 14:19:03 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60054) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mNfgO-0001Ne-Ol; Tue, 07 Sep 2021 14:18:56 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:2413 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNfgO-0001zA-B8; Tue, 07 Sep 2021 14:18:56 -0400 Date: Tue, 07 Sep 2021 21:19:02 +0300 Message-Id: <83wnnsnt9l.fsf@gnu.org> From: Eli Zaretskii To: Augusto Stoffel In-Reply-To: <87sfygl11x.fsf@gmail.com> (message from Augusto Stoffel on Tue, 07 Sep 2021 19:59:06 +0200) Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> <87sfygl11x.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 (-) > From: Augusto Stoffel > Cc: Mark.Barton@disney.com, andrewjmoreton@gmail.com, emacs-devel@gnu.org, > schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, > michael.albinus@gmx.de, larsi@gnus.org > Date: Tue, 07 Sep 2021 19:59:06 +0200 > > On Tue, 7 Sep 2021 at 20:48, Eli Zaretskii wrote: > > >> From: Augusto Stoffel > >> Date: Tue, 07 Sep 2021 19:37:41 +0200 > >> Cc: Andy Moreton , emacs-devel@gnu.org, > >> Andreas Schwab , > >> Stefan Monnier , 49822@debbugs.gnu.org, > >> Michael Albinus , Lars Ingebrigtsen > >> > >> Okay then. Since there seem to be no better alternatives, I have > >> attached a new patch reducing the limit to a hard-coded 1024 bytes. If > >> some day someone adds a variable specifying a more precise limit, then > >> we can change this. > > > > I thought the conclusion was that we do know the limits, but they are > > different on different OSes? If so, why not use the correct limit for > > each OS, instead of using the most strict limit? The underlying OS is > > available in system-type. > > > >> - (if (<= (string-bytes code) 4096) > >> + (if (<= (string-bytes code) 1024) > > > > In any case, IMO this should be a defconst with a suitable doc string, > > so that we'd have this stuff documented for posterity. > > > > Thanks. > > Yes, I agree this should be a defconst, defined in comint.el or maybe > even in C, if there turns out to be a sensible way to query the OS. > > I'm afraid I've already proved that I am not up to this particular task :-) I didn't mean to say anything like that, not at all. Mine was a minor comment, it's supposed to be easy to augment your patch to avoid those minor issues. Nothing complicated or fancy is expected, just a defconst with a value conditioned on system-type. As for where should that defconst live, I personally have no problem with its living in python.el for now. We can always move it later if the need arises. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 14:31:07 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 18:31:07 +0000 Received: from localhost ([127.0.0.1]:57727 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfs6-00032S-Ci for submit@debbugs.gnu.org; Tue, 07 Sep 2021 14:31:07 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40398) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNfs4-0002vg-ES for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 14:31:01 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60390) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mNfrx-0001DA-55; Tue, 07 Sep 2021 14:30:53 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3146 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNfrw-0004YT-K5; Tue, 07 Sep 2021 14:30:53 -0400 Date: Tue, 07 Sep 2021 21:31:02 +0300 Message-Id: <83tuiwnspl.fsf@gnu.org> From: Eli Zaretskii To: Augusto Stoffel In-Reply-To: <87o894l0dr.fsf@gmail.com> (message from Augusto Stoffel on Tue, 07 Sep 2021 20:13:36 +0200) Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> <87o894l0dr.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 (-) > From: Augusto Stoffel > Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, > schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, > michael.albinus@gmx.de, larsi@gnus.org > Date: Tue, 07 Sep 2021 20:13:36 +0200 > > >> - (if (<= (string-bytes code) 4096) > >> + (if (<= (string-bytes code) 1024) > > > > In any case, IMO this should be a defconst with a suitable doc string, > > so that we'd have this stuff documented for posterity. > > > > Thanks. > > Another open question (at least to me) is what happens when you put an > SSH connection in the game. Presumably it has some buffer limits as > well, and this seems even harder to determine exactly. SSH connection between what and what? From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 15:00:43 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 19:00:43 +0000 Received: from localhost ([127.0.0.1]:57746 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNgKk-00051C-1u for submit@debbugs.gnu.org; Tue, 07 Sep 2021 15:00:42 -0400 Received: from mail-ed1-f44.google.com ([209.85.208.44]:38424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNgKh-00050x-Uo for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 15:00:37 -0400 Received: by mail-ed1-f44.google.com with SMTP id q3so15339051edt.5 for <49822@debbugs.gnu.org>; Tue, 07 Sep 2021 12:00:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=0XZm2B2ZhHXLLZkGptchUxIci3YbGS9iA1AAt9gJnEg=; b=nrNSYGRbJENpMy+HYf/W2asaJOeH7HALfT3DQdXVjalcle4cdLfQ7u2fwfrTVM+QqI hCC7+256YQHX7qkI/TMaA2cgEKuy3k/OA1dchGH69yH11T/qJYezT8et+PGD7ovFLosJ frZC4wjm8z2bM70s4orxtsN8yt4FTiuAhV7VMXtbAfKXnMEpff6i6a4lGJ3D5HluV4PC vumbi7T1M6hu74WnM3fmgtgJPWo4bUFo0UcfDB4qqjWlH72/GobgxgXi4fLH3FEj7Y7o nBrBIHbM8NctaLPxuAeBDia8NSPZK37pGiS205HrknqMqvW5u3lno3KOPuJzO7X9s4Bw dx8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=0XZm2B2ZhHXLLZkGptchUxIci3YbGS9iA1AAt9gJnEg=; b=NgPTsabdfw67gK4v0aoPu1rvibGHs0L4FJCMVRGYNlBUPqCUfMNxrv4dA0oySagNKP lCok8ptHA11V+6pebO9eLJbk1PMFn74N+fJ5nwktBil0mjjnt1M4WIV+h3/e58ICI/MX ToxlGcWmUVWzkl5jKUyE+pJKmgGoeE8eLMsAOAZxcHGTVTHZeKl0A7VNFTEKA289N5++ 8o8MIcGFW5wk+BrDNHYj4cdPgFK8wpYAfGgML+VwUeFZSr63nKyM9LLhzW1MBI7lBPmJ +H1mVKSgK2u0p5y5NfJozA7pAxBygcuP2eDBSn2AD3Ma9nh+ZHVr+PH20hrqtmxwroWG moag== X-Gm-Message-State: AOAM5338MQjnn2KIjh7OmgaNgFfeAYzyOv2UgWxOi3MIeLRtvSGeA1Dv Oi9h9pakYGpt9uRJF2G79i0= X-Google-Smtp-Source: ABdhPJy7UcxnTzsEwxBO16rp8e5+anCbrAMzetjITwv2eijcFuJ+HnD3ilkmFIB9oTSR+BnDZV2D8Q== X-Received: by 2002:a05:6402:1d05:: with SMTP id dg5mr961082edb.375.1631041229971; Tue, 07 Sep 2021 12:00:29 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id bx11sm5911584ejb.107.2021.09.07.12.00.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Sep 2021 12:00:29 -0700 (PDT) From: Augusto Stoffel To: Eli Zaretskii Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> <87o894l0dr.fsf@gmail.com> <83tuiwnspl.fsf@gnu.org> Date: Tue, 07 Sep 2021 21:00:28 +0200 In-Reply-To: <83tuiwnspl.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 07 Sep 2021 21:31:02 +0300") Message-ID: <871r601a9f.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 Tue, 7 Sep 2021 at 21:31, Eli Zaretskii wrote: >> From: Augusto Stoffel >> Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, >> schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, >> michael.albinus@gmx.de, larsi@gnus.org >> Date: Tue, 07 Sep 2021 20:13:36 +0200 >> >> >> - (if (<= (string-bytes code) 4096) >> >> + (if (<= (string-bytes code) 1024) >> > >> > In any case, IMO this should be a defconst with a suitable doc string, >> > so that we'd have this stuff documented for posterity. >> > >> > Thanks. >> >> Another open question (at least to me) is what happens when you put an >> SSH connection in the game. Presumably it has some buffer limits as >> well, and this seems even harder to determine exactly. > > SSH connection between what and what? I'm sitting at machine A but my inferior process is running on machine B and the machines talk via SSH. There are several steps in the communication here: Emacs -> SSH client -> SSH server -> inferior process. Each step has potential limitations. If the SSH server talks to the inferior process via a PTY (I'm just pondering, and I don't know if this is usual setup or not), then we would have to take machine B's PTY restrictions into account, which would defeat the purpose of knowing the exact characteristics of machine A's PTYs. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 15:16:42 2021 Received: (at 49822) by debbugs.gnu.org; 7 Sep 2021 19:16:42 +0000 Received: from localhost ([127.0.0.1]:57777 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNgaD-0005QT-At for submit@debbugs.gnu.org; Tue, 07 Sep 2021 15:16:42 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47468) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNgaB-0005QF-Jt for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 15:16:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33960) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mNga3-0006ih-DB; Tue, 07 Sep 2021 15:16:27 -0400 Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:1988 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mNga2-0006FR-Vc; Tue, 07 Sep 2021 15:16:27 -0400 Date: Tue, 07 Sep 2021 22:16:33 +0300 Message-Id: <83pmtknqlq.fsf@gnu.org> From: Eli Zaretskii To: Augusto Stoffel In-Reply-To: <871r601a9f.fsf@gmail.com> (message from Augusto Stoffel on Tue, 07 Sep 2021 21:00:28 +0200) Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> <87o894l0dr.fsf@gmail.com> <83tuiwnspl.fsf@gnu.org> <871r601a9f.fsf@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, michael.albinus@gmx.de, larsi@gnus.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 (-) > From: Augusto Stoffel > Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, > schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, > michael.albinus@gmx.de, larsi@gnus.org > Date: Tue, 07 Sep 2021 21:00:28 +0200 > > >> Another open question (at least to me) is what happens when you put an > >> SSH connection in the game. Presumably it has some buffer limits as > >> well, and this seems even harder to determine exactly. > > > > SSH connection between what and what? > > I'm sitting at machine A but my inferior process is running on > machine B and the machines talk via SSH. You mean, you run a remote subprocess via Tramp? > There are several steps in the communication here: Emacs -> SSH client > -> SSH server -> inferior process. Each step has potential limitations. > If the SSH server talks to the inferior process via a PTY (I'm just > pondering, and I don't know if this is usual setup or not), then we > would have to take machine B's PTY restrictions into account, which > would defeat the purpose of knowing the exact characteristics of machine > A's PTYs. I don't see how B's PTY restrictions are relevant, but maybe Micheal will (assuming you are talking about remote subprocesses). From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 07 23:17:38 2021 Received: (at 49822) by debbugs.gnu.org; 8 Sep 2021 03:17:38 +0000 Received: from localhost ([127.0.0.1]:58125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNo5h-0004mK-K8 for submit@debbugs.gnu.org; Tue, 07 Sep 2021 23:17:38 -0400 Received: from mail-bn7nam10on2104.outbound.protection.outlook.com ([40.107.92.104]:13921 helo=NAM10-BN7-obe.outbound.protection.outlook.com) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNo5e-0004m5-Ok for 49822@debbugs.gnu.org; Tue, 07 Sep 2021 23:17:36 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MJGXPUnRCXE3KkfYmGgow3J70E43Swx36Yyz6MpoV7R59UfXSTEdEVZWBjkcrLD2ded0lWiNL7jCYe+c52wLQw+9WI/roMnYKpBhsL/swr/PF3QjhBbVCYE9aTIlp0Oq4D8stBhhSeoQkIByzhKodq3R6nVdPjLoOfbuds9JBjshpPrxGYha2MTe0QtfWDwKcxQxe1x4QumYCyCqRyqp5BnhpKTTHCHhrRnG26E37YwBmq+3Vbr+jPUSlyIDWgd+z+waQZHfYx8QVCcRyVheNce6NW6qB8A+Rb5Jf55f6izg5GU5+IPbnTC3iE0vZXdiQpm19Cfk0zEU6ljPnea5hw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ywaz/lTUikmIEsyNyY0hJWG7oAUBahonxf0qnWBn9H0=; b=Owy9xVF3VW45gjPGnQTm5rQx+nC/AUzDhm7HuNKkpEDP6SorGZkHyoDFEZ/3HbyjD235gD7acUiU+2fg2j0PjYg25dYOXKvbb8JFc0VQTC7O8EWB0lIX0bTX36N2k7nHlyzD3GboWDtYKoaTqkV2DKZLOeMP34nWg3LhFzRf2/3S9CyRS5za9nM9mA5nBwqUYDkUlSdznY967uI9EuVPbRfPqUzASqPRCAEQh9S3nYh7PgN5lqizLjEpA1iTL0dSOOeGE2Jf1tliC301q8cfMTuqWUn8wW2g9y4mLpYq3Q+Eak/KuzqOf1CXqARYfgSsspjDzFn9nM0/WgSdWSNJUQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=disney.com; dmarc=pass action=none header.from=disney.com; dkim=pass header.d=disney.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twdc.onmicrosoft.com; s=selector2-twdc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ywaz/lTUikmIEsyNyY0hJWG7oAUBahonxf0qnWBn9H0=; b=Y9DU9+JcvxBi6WgYiHHZ3ysM8J/fE0b3FX/tMWBNpI95es3P0z8BGKIjWM5RD8Lu+4+pAaHlrXBAaBTJYtHLGrntcJ3XFv3ze9Wm6XFAIr07XV8/lAe6NeFJGO7yYUm2t5M0KzZezfL4wDV8Ba3elNPibN7WfWcSs28fpKbBbgc= Received: from SJ0PR03MB6501.namprd03.prod.outlook.com (2603:10b6:a03:386::18) by SJ0PR03MB6598.namprd03.prod.outlook.com (2603:10b6:a03:38a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Wed, 8 Sep 2021 03:17:27 +0000 Received: from SJ0PR03MB6501.namprd03.prod.outlook.com ([fe80::3084:f33f:a4c:12e3]) by SJ0PR03MB6501.namprd03.prod.outlook.com ([fe80::3084:f33f:a4c:12e3%9]) with mapi id 15.20.4478.025; Wed, 8 Sep 2021 03:17:27 +0000 From: "Barton, Mark" To: Augusto Stoffel Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files Thread-Topic: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files Thread-Index: AQHXpA8Setsid7rVXk+n2bt08iK4t6uZd/oA Date: Wed, 8 Sep 2021 03:17:27 +0000 Message-ID: <66D968C2-9F92-4950-9647-C8DCD77A2EE0@disney.com> References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> In-Reply-To: <875yvcmgm2.fsf@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3654.120.0.1.13) authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=disney.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 4810392d-b379-40e8-c9a0-08d972772fd0 x-ms-traffictypediagnostic: SJ0PR03MB6598: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tTEn4F2Fb4F5Qz0v81l9YSqgVCoF/2x5aIdO/g3xy1tw3Aobn0133PBwDc1P0Y/5XlalLhlpeLXGDbG+mad/J0OOl20yRAyhwU6uD9GvNELPvZWjoxtQT/uH0MBRF3AbQGt99cxEcjArXuLc1Kc004oh39f0IvPIa2p7ZPljNxjQw0oWdn0gWWzn4xJ/qHyPDjLUA1PxkOs3s0481SIHnLqsWf07bINK6fLl8QysqNX/yZN1MiJpiWxSyFPSM5+dXnRp4mdST8Xvwz6cYwnTiU7YsBv2m1YcHD260Ybm64Q+kxmF2MZnOITyASF8yEE/S8zgrPATkXmRE6/mBpzH9tCAC+UEskD3e2v/loddmk1xxD1yozH397Vz/ClK3xPL4SzslW26nWLHtfDD6h372JbIoDg+0H2vuAXkS+IeNBT3LYBk8PsysOtViRziwt9OCggCtOYXe2oea8KD5++Xy6QJd5fdwkekKmPiSONsK7iNi+EEZNg2z4jrcT2R7Q6SEkXPQmfCwKY/aSk2esIkPijBx0ozFTZktesNPXxGhFAdHqT5yf0dzhHvjIijvKqDX8+qOx2iTUCjDdNMFD/mpRoEU6Zzq/mNBw6zWeJzrB1/ZJSLvzd5wv73EAiyERv+B5tgqxdljytaZwrqpHGLTCDod5dI7Ae+HZKhm+5iZyABynE2xtjxSPlSbWoxV00Xzw51mVMt/HHvdI7SvQxba9+EW9r5KrHxtmTxymBd9cI= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR03MB6501.namprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(71200400001)(316002)(2906002)(6506007)(76116006)(36756003)(66476007)(53546011)(8676002)(6486002)(8936002)(4326008)(186003)(83380400001)(54906003)(6916009)(66946007)(5660300002)(66556008)(478600001)(38100700002)(64756008)(66446008)(6512007)(33656002)(86362001)(2616005)(122000001)(38070700005)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L2pXYnZEYU1ZS3VndytxK3NLZTNLR2g3SHlsVDR1Wm9OdkRmTTJYZXUrZC80?= =?utf-8?B?M3dXS1RlMVA2elB2NjI5ajZZenZoRlF4VS9BdVlPMkx0WVJVdGcwb1RZYjhH?= =?utf-8?B?SkpTSlNMSEt1UXFoeTVjYThtRkJlc0pSSGhqZmJqUUExdS8wVGthL0p2S2Nw?= =?utf-8?B?WnFzNXl2czQ2NlV1d084RHgyRC9NaTZUR2d5RVBHNzNPQjlkd05ZSTg3WUky?= =?utf-8?B?UXY4REh1UHk1OExNOUJJMFJ5STl2YUZtQ2pxV0lLa0NGY2xHWXlOdmhkWVpN?= =?utf-8?B?NkZzWmM4eElqMkJZT0R0YUk3bHVsaVpncm9yTFR3blBnb2JmMUE4RGIyV2xO?= =?utf-8?B?REN0N094bkV2SktHc0tldEp5N3dZeXhxRDFYemlURmlLbHdMUVU2aFQwOUt5?= =?utf-8?B?cGVpb2p6cm9waU91VmFNeStCZVk5THN2ZCsweThvempMYVg0bUZ5TVZIaW9T?= =?utf-8?B?cVBSeFdXYkRBQWUzY3pOa0dmTmJBQm10dGZzaElML0lzWURNbjJuR2VmcjZG?= =?utf-8?B?RDc3RWNMVEZvK0t4N05DZVpzR0hpSEk3SlNkZzRFK2NZb2w0Q2IzZVFEZVlG?= =?utf-8?B?NVdWSHk5VVVqMHdiM2ZvRTJaMzNvSThFSWViSkZvLzdvWHRxL1lUTlBZdzBH?= =?utf-8?B?dzJ2NEQzWDVMdmNFb0NVMy9IVWpQTWVCazFXTStCajVnZWFjMHFUNVFGNFhp?= =?utf-8?B?UTdxaWZMbHkzajhISzB4ekI0MFkxU3g5cjN4S2xmbzhpZXRBZno0VXM1bFRt?= =?utf-8?B?N3RzVlluMmFTTUhKb0dhbHYrMldZZk16ZnlNUlN1dTREM3hLQVJ3amFXNmFj?= =?utf-8?B?STJQa3o1dk5QYVB0UVJQbkhFdmlSblZTb1BCakpoQkREeDlFMmk5VTR1NitH?= =?utf-8?B?eTRONzdkV2liRFdjYVRGVERKd0ZzaEpCTVVHTFB5WVJXeXNaK1kvc0tZRHR4?= =?utf-8?B?dnFaV3V1WXJRcDF2OVpRMG1hUW05RmY3THpzeHpISHI0YWU4eGdGOCtpUmRt?= =?utf-8?B?SlV1eDMybXJNYWpkaHE5NVBlMHlha1Znd21ia1RKQnVjR3VFMzdLYXN0Y2dY?= =?utf-8?B?d2x0a0Qyd2Q0bWg1OHlOdVRRN1crWHBlbFB1LzlTVmZOK2lkcGlOL3l2Mis1?= =?utf-8?B?bi9JMWQ5d1VXREpjbnhoc0JsaTVXZmEzeHAzWlVCVUpCeVdvS2FmU29XQXBJ?= =?utf-8?B?aDZqdkV3VUlUa29ueC90WktZL2cvR1c0WTh6RGgxQ3hvaC9sb3FXUEtjdHR2?= =?utf-8?B?ZEcyWWI4Qml4cUhyL25na0VUcjJHMHlzVWczUk51b0RrS3o1WHFjdXlXd1dQ?= =?utf-8?B?NWlWOE5xWHJ6bHN5QTc5akZkcnBEWkJjZW1paHF2bVFlT081MVE1MU90Nk1B?= =?utf-8?B?OHNWOXRYbDAvb2t1L2JVZWdXNGc2OHpLZ3FUQVJVRkt5dEQ2elpiMGU4Qkkz?= =?utf-8?B?cmRBYzkzN3NwemtaRll3L2REVWFQcEJLeFhMek1iVkpVUUNDTjJEL0R0VlBP?= =?utf-8?B?L1hCTkVrTS9WSFlPTEhKVzVvVm9Tckt5MGc0Z3hUeW5SaTkwajJzSXdMOEhw?= =?utf-8?B?aWpqdzVUQktrRXprRW1kT29sWDVjcVpKUkhkLzVzMFlGRjNwYmpGb3ZFS0JO?= =?utf-8?B?c2x2eUlPTTk1Q3VkWWw5aVk5NUR6VU5ETkpxMVorYXZLRzd1ZCtlMUZ5VmJp?= =?utf-8?B?M3BEVjIrTy84ZHIrOWk2RXFFdS9wSjlFbFd4a1EwdHZkWDJsQ1A3Y0ZXaHNL?= =?utf-8?B?bTR1Z1BmT0xCdU0rK2pZZEFJL1RHNUNhYlU5TUd6SzRpcXZrekNTVitqNVJY?= =?utf-8?B?NmplMHJaSmFDU1pSQ1hxU01kRHJLeFlVcjBQMzl2Uk9yVUN5Sk1kZjZJd2cz?= =?utf-8?Q?shjJ3H8WV85sJ?= x-ms-exchange-transport-forked: True Content-Type: multipart/alternative; boundary="_000_66D968C29F9249509647C8DCD77A2EE0disneycom_" MIME-Version: 1.0 X-OriginatorOrg: disney.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6501.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4810392d-b379-40e8-c9a0-08d972772fd0 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Sep 2021 03:17:27.6521 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 56b731a8-a2ac-4c32-bf6b-616810e913c6 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UYOArt2M0dVrWUCR/AgQgBbMUm3tMN8vWBLoM4ZQiVdahM39LTFphsplzZKfkdv+7FGMhS4PNppzwsr/mu2rhA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6598 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: Andy Moreton , "emacs-devel@gnu.org" , Andreas Schwab , Stefan Monnier , "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Michael Albinus , Lars Ingebrigtsen 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 (-) --_000_66D968C29F9249509647C8DCD77A2EE0disneycom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCk9uIFNlcCA3LCAyMDIxLCBhdCAxMDozNyBBTSwgQXVndXN0byBTdG9mZmVsIDxhcnN0b2Zm ZWxAZ21haWwuY29tPG1haWx0bzphcnN0b2ZmZWxAZ21haWwuY29tPj4gd3JvdGU6DQoNCk9uIE1v biwgIDYgU2VwIDIwMjEgYXQgMTM6NTMsIEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAbGludXgtbTY4 ay5vcmc8bWFpbHRvOnNjaHdhYkBsaW51eC1tNjhrLm9yZz4+IHdyb3RlOg0KDQpPbiBTZXAgMDYg MjAyMSwgTWljaGFlbCBBbGJpbnVzIHdyb3RlOg0KDQpBbmRyZWFzIFNjaHdhYiA8c2Nod2FiQGxp bnV4LW02OGsub3JnPG1haWx0bzpzY2h3YWJAbGludXgtbTY4ay5vcmc+PiB3cml0ZXM6DQoNCk9r YXksIHNvIGlzIHRoZSBUVFkgbGluZSBsZW5ndGggbGltaXQgb2YgdGhlIE9TIGF2YWlsYWJsZSBp biBMaXNwDQpzb21ld2hlcmU/ICBPdGhlcndpc2UsIGNhbiB3ZSBhdCBsZWFzdCB0cnVzdCB0aGF0 IDEwMjQgaXMgdGhlIHVuaXZlcnNhbA0KbG93ZXIgYm91bmQ/DQoNCk9uIHN5c3RlbXMgd2l0aCBh IFBPU0lYIHNoZWxsOg0KDQoobGV0ICgoZGVmYXVsdC1kaXJlY3RvcnkgIi8iKSkNCiAocmVhZCAo c2hlbGwtY29tbWFuZC10by1zdHJpbmcgImdldGNvbmYgTElORV9NQVgiKSkpDQoNCkxJTkVfTUFY IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIHR0eSBsaW5lIGRpc2NpcGxpbmUuDQoNCkknbGwg bmV2ZXIgbGVhcm4gaXQgOi0oDQoNCldlJ3ZlIGRpc2N1c3NlZCB0aGlzIGlzc3VlIHNvbWUgeWVh cnMgYWdvIGFscmVhZHkuIElJUkMsIHRoZSBvdXRjb21lIHdhcw0KdG8gdXNlICJnZXRjb25mIFBJ UEVfQlVGIC8iIGluc3RlYWQuDQoNCk5laXRoZXIgaGFzIFBJUEVfQlVGLg0KDQpBbmRyZWFzLg0K DQpPa2F5IHRoZW4uIFNpbmNlIHRoZXJlIHNlZW0gdG8gYmUgbm8gYmV0dGVyIGFsdGVybmF0aXZl cywgSSBoYXZlDQphdHRhY2hlZCBhIG5ldyBwYXRjaCByZWR1Y2luZyB0aGUgbGltaXQgdG8gYSBo YXJkLWNvZGVkIDEwMjQgYnl0ZXMuICBJZg0Kc29tZSBkYXkgc29tZW9uZSBhZGRzIGEgdmFyaWFi bGUgc3BlY2lmeWluZyBhIG1vcmUgcHJlY2lzZSBsaW1pdCwgdGhlbg0Kd2UgY2FuIGNoYW5nZSB0 aGlzLg0KDQpJIGhhdmUgYWxzbyByZWFycmFuZ2VkIHRoaW5ncyBhIGJpdCBzbyB0aGF0IHRoZSBz ZXR1cCBjb2RlIGlzIHNlbnQgdG8NCnRoZSBpbmZlcmlvciBwcm9jZXNzIGp1c3Qgb25jZSwgcmF0 aGVyIHRoYW4gb2Ygb24gZXZlcnkgY2FsbCB0bw0KYHB5dGhvbi1zaGVsbC1zZW5kLXN0cmluZycu ICBUaGlzIHdheSwgdGhlIHNtYWxsZXIgbGluZSBsZW5ndGggbGltaXQNCmRvZXNuJ3QgaW5jcmVh c2UgdG9vIG11Y2ggdGhlIHVzZSBvZiB0ZW1wIGZpbGVzLCB3aGljaCwgYXMgSSBtZW50aW9uZWQs DQppcyBzbG93IG92ZXIgc3NoLg0KDQpJdCB3b3VsZCBiZSBncmVhdCBpZiBzb21lb25lIHdpdGgg YWNjZXNzIHRvIGEgQlNELWxpa2UgT1MgY291bGQgdGVzdA0KdGhpcy4gIEkgY2FuIG9ubHkgdGVz dCBsb2NhbGx5IG9uIExpbnV4IGFuZCBvdmVyIHNzaCBiZXR3ZWVuIExpbnV4DQptYWNoaW5lcy4N Cg0KUFM6IEkgaGF2ZSBzb21lIG1vcmUgc3VnZ2VzdGlvbnMgYXJvdW5kIHRoZSBQeXRob24gc2hl bGwuICBJcyB0aGUgaWRlYWwNCndvcmtmbG93IHRvIGtlZXAgY3JlYXRpbmcgYnVncyB3aXRoIGEg c21hbGwgcGF0Y2ggdG8gZWFjaCBpbXByb3ZlbWVudCwNCm9yIGRvIHlvdSBwcmVmZXIgdG8gcmV2 aWV3IGEgbGFyZ2VyIGNvbGxlY3Rpb24gb2YgY2hhbmdlcyBidW5kbGVkDQp0b2dldGhlcj8NCg0K PDAwMDEtUmVkdWNlLWxpbWl0LW9mLWxpbmUtbGVuZ3RoLXNlbnQtdG8tdGhlLVB5dGhvbi1pbmZl ci5wYXRjaD4NCg0KSSB0ZXN0ZWQgdGhlIHBhdGNoLCAwMDAxLVJlZHVjZS1saW1pdC1vZi1saW5l LWxlbmd0aC1zZW50LXRvLXRoZS1QeXRob24taW5mZXIucGF0Y2gsIG9uIG1hY09TIDExLjUuMSBh bmQgYWx0aG91Z2ggbXkgbWluaW1hbCBleGFtcGxlIHJ1bnMsIG15IG9yaWdpbmFsIGRvY3VtZW50 IHVzaW5nIG9yZyBiYWJlbCBzZXNzaW9uIHdpdGggbXVsdGlwbGUgcHl0aG9uIGJsb2NrcyBpcyBm YWlsaW5nIHdpdGggdGhlIG1lc3NhZ2UgaW4gdGhlIG1pbmkgYnVmZmVyIOKAnElubGluZSBlcnJv cjogbXVsdGlsaW5lIHJlc3VsdCBjYW5ub3QgYmUgdXNlZOKAnS4gSSBjYW4gdHJ5IHNvbWUgbG93 ZXIgdmFsdWUgdGhhbiAxMDI0IGFuZCByZXBvcnQgYmFjaywgYnV0IGJlbG93IGlzIHdoYXQgSSBz YXcgd2l0aCBhdHRlbXB0aW5nIHRvIHVzZSB0aGUgZGVidWdnZXIgdG8gc2VlIHdoYXQgdGhlIHN0 cmluZyBsb29rcyBsaWtlIGluIG15IHVzZSBjYXNlLg0KDQpTZXR0aW5nIGRlYnVnLW9uLWVudHJ5 IHRvIGNvbWludC1zZW5kLXN0cmluZyBhbmQgcnVubmluZyBhIHNyYyBibG9jaywgSSBnZXQ6DQoN CkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmluZyB2YWx1ZTogbmlsDQogIGNvbWludC1zZW5kLXN0 cmluZygjPHByb2Nlc3MgZmlsZWRhdGU+ICJfX1BZVEhPTl9FTF9ldmFsX2ZpbGUoXCIvdmFyL2Zv bGRlcnMva2YvemRwemdzOWQzMGIzamo0YmRrZGpmMXZ3MDAwMGduL1QvcHliUTdvQmhcIiwgXCIv dmFyL2ZvbGRlcnMva2YvLi4uIikNCiAgcHl0aG9uLXNoZWxsLXNlbmQtZmlsZSgiL3Zhci9mb2xk ZXJzL2tmL3pkcHpnczlkMzBiM2pqNGJka2RqZjF2dzAwMDBnbi9UL3AuLi4iICM8cHJvY2VzcyBm aWxlZGF0ZT4gIi92YXIvZm9sZGVycy9rZi96ZHB6Z3M5ZDMwYjNqajRiZGtkamYxdncwMDAwZ24v VC9wLi4uIiB0KQ0KICBweXRob24tc2hlbGwtc2VuZC1zdHJpbmcoInRyeTpcbiAgICBpbXBvcnQg YXN0XG4gICAgd2l0aCBvcGVuKCcvdmFyL2ZvbGRlcnMva2YuLi4iKQ0KICBvcmctYmFiZWwtcHl0 aG9uLS1zZW5kLXN0cmluZygiKmZpbGVkYXRlKiIgImltcG9ydCBhc3RcbndpdGggb3BlbignL3Zh ci9mb2xkZXJzL2tmL3pkcHpnczlkMzBiMy4uLiIpDQogIG9yZy1iYWJlbC1weXRob24tZXZhbHVh dGUtc2Vzc2lvbigiKmZpbGVkYXRlKiIgImZpbGU9XCJSb3N0ZXJfUmVwb3J0LmNzdlwiXG5pbXBv cnQgb3NcbmltcG9ydCB0aW1lXG5wcmkuLi4iIHZhbHVlICgicmF3IiAicmVwbGFjZSIpKQ0KICBv cmctYmFiZWwtcHl0aG9uLWV2YWx1YXRlKCIqZmlsZWRhdGUqIiAiZmlsZT1cIlJvc3Rlcl9SZXBv cnQuY3N2XCJcbmltcG9ydCBvc1xuaW1wb3J0IHRpbWVcbnByaS4uLiIgdmFsdWUgKCJyYXciICJy ZXBsYWNlIikgbmlsKQ0KICBvcmctYmFiZWwtZXhlY3V0ZTpweXRob24oImltcG9ydCBvc1xuaW1w b3J0IHRpbWVcbnByaW50KHRpbWUuc3RyZnRpbWUoXCIlWS0lbS0lLi4uIiAoKDp2YXIgZmlsZSAu ICJSb3N0ZXJfUmVwb3J0LmNzdiIpICg6Y29sbmFtZS1uYW1lcykgKDpyb3duYW1lLW5hbWVzKSAo OnJlc3VsdC1wYXJhbXMgInJhdyIgInJlcGxhY2UiKSAoOnJlc3VsdC10eXBlIC4gdmFsdWUpICg6 cmVzdWx0cyAuICJyYXcgcmVwbGFjZSIpICg6ZXhwb3J0cyAuICJyZXN1bHRzIikgKDpjYWNoZSAu ICJubyIpICg6bm93ZWIgLiAibm8iKSAoOmhsaW5lcyAuICJubyIpICg6YXN5bmMgLiAieWVzIikg KDp0YW5nbGUgLiAicmVwb3J0cy5weSIpICg6Y29tbWVudHMgLiAiYm90aCIpICg6c2Vzc2lvbiAu ICJmaWxlZGF0ZSIpKSkNCiAgb3JnLWJhYmVsLWV4ZWN1dGUtc3JjLWJsb2NrKG5pbCAoInB5dGhv biIgImltcG9ydCBvc1xuaW1wb3J0IHRpbWVcbnByaW50KHRpbWUuc3RyZnRpbWUoXCIlWS0lbS0l Li4uIiAoKDp2YXIgZmlsZSAuICJSb3N0ZXJfUmVwb3J0LmNzdiIpICg6Y29sbmFtZS1uYW1lcykg KDpyb3duYW1lLW5hbWVzKSAoOnJlc3VsdC1wYXJhbXMgInJlcGxhY2UiICJyYXciKSAoOnJlc3Vs dC10eXBlIC4gdmFsdWUpICg6cmVzdWx0cyAuICJyZXBsYWNlIHJhdyIpICg6ZXhwb3J0cyAuICJy ZXN1bHRzIikgKDpzZXNzaW9uIC4gImZpbGVkYXRlIikgKDpjb21tZW50cyAuICJib3RoIikgKDp0 YW5nbGUgLiAicmVwb3J0cy5weSIpICg6YXN5bmMgLiAieWVzIikgKDpobGluZXMgLiAibm8iKSAo Om5vd2ViIC4gIm5vIikgKDpjYWNoZSAuICJubyIpKSAiIiAiZmlsZV9kYXRlIiA3NzM1ICIocmVm OiVzKSIpKQ0KICBvcmctY3RybC1jLWN0cmwtYyhuaWwpDQogIGZ1bmNhbGwtaW50ZXJhY3RpdmVs eShvcmctY3RybC1jLWN0cmwtYyBuaWwpDQogIGNvbW1hbmQtZXhlY3V0ZShvcmctY3RybC1jLWN0 cmwtYykNCg0KSWYgSSBsb29rIGF0IHRoZSBmaWxlIHBhc3NlZCwgcHliUTdvQmgsIHRoZSBjb250 ZW50cyBsb29rcyBsaWtlIGl0IHdpbGwgb3BlbiBhbm90aGVyIGZpbGUuDQoNCnRyeToNCiAgICBp bXBvcnQgYXN0DQogICAgd2l0aCBvcGVuKCcvdmFyL2ZvbGRlcnMva2YvemRwemdzOWQzMGIzamo0 YmRrZGpmMXZ3MDAwMGduL1QvYmFiZWwtSzRNYlUyL3B5dGhvbi1oTklJNGwnKSBhcyBfX29yZ19i YWJlbF9weXRob25fdG1wZmlsZToNCiAgICAgICAgX19vcmdfYmFiZWxfcHl0aG9uX2FzdCA9IGFz dC5wYXJzZShfX29yZ19iYWJlbF9weXRob25fdG1wZmlsZS5yZWFkKCkpDQogICAgX19vcmdfYmFi ZWxfcHl0aG9uX2ZpbmFsID0gX19vcmdfYmFiZWxfcHl0aG9uX2FzdC5ib2R5Wy0xXQ0KICAgIGlm IGlzaW5zdGFuY2UoX19vcmdfYmFiZWxfcHl0aG9uX2ZpbmFsLCBhc3QuRXhwcik6DQogICAgICAg IF9fb3JnX2JhYmVsX3B5dGhvbl9hc3QuYm9keSA9IF9fb3JnX2JhYmVsX3B5dGhvbl9hc3QuYm9k eVs6LTFdDQogICAgICAgIGV4ZWMoY29tcGlsZShfX29yZ19iYWJlbF9weXRob25fYXN0LCAnPHN0 cmluZz4nLCAnZXhlYycpKQ0KICAgICAgICBfX29yZ19iYWJlbF9weXRob25fZmluYWwgPSBldmFs KGNvbXBpbGUoYXN0LkV4cHJlc3Npb24oDQogICAgICAgICAgICBfX29yZ19iYWJlbF9weXRob25f ZmluYWwudmFsdWUpLCAnPHN0cmluZz4nLCAnZXZhbCcpKQ0KICAgICAgICB3aXRoIG9wZW4oJy92 YXIvZm9sZGVycy9rZi96ZHB6Z3M5ZDMwYjNqajRiZGtkamYxdncwMDAwZ24vVC9iYWJlbC1LNE1i VTIvcHl0aG9uLXJhNHlzRicsICd3JykgYXMgX19vcmdfYmFiZWxfcHl0aG9uX3RtcGZpbGU6DQog ICAgICAgICAgICBpZiBGYWxzZToNCiAgICAgICAgICAgICAgICBpbXBvcnQgcHByaW50DQogICAg ICAgICAgICAgICAgX19vcmdfYmFiZWxfcHl0aG9uX3RtcGZpbGUud3JpdGUocHByaW50LnBmb3Jt YXQoX19vcmdfYmFiZWxfcHl0aG9uX2ZpbmFsKSkNCiAgICAgICAgICAgIGVsc2U6DQogICAgICAg ICAgICAgICAgX19vcmdfYmFiZWxfcHl0aG9uX3RtcGZpbGUud3JpdGUoc3RyKF9fb3JnX2JhYmVs X3B5dGhvbl9maW5hbCkpDQogICAgZWxzZToNCiAgICAgICAgZXhlYyhjb21waWxlKF9fb3JnX2Jh YmVsX3B5dGhvbl9hc3QsICc8c3RyaW5nPicsICdleGVjJykpDQogICAgICAgIF9fb3JnX2JhYmVs X3B5dGhvbl9maW5hbCA9IE5vbmUNCmV4Y2VwdDoNCiAgICByYWlzZQ0KZmluYWxseToNCiAgICBw cmludCgnb3JnX2JhYmVsX3B5dGhvbl9lb2UnKQ0K --_000_66D968C29F9249509647C8DCD77A2EE0disneycom_ Content-Type: text/html; charset="utf-8" Content-ID: <03998E62CBB1024AA458A27312F445D7@namprd03.prod.outlook.com> Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5IHN0eWxlPSJ3b3JkLXdy YXA6IGJyZWFrLXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgbGluZS1icmVhazogYWZ0 ZXItd2hpdGUtc3BhY2U7IiBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxkaXY+PGJyIGNsYXNz PSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9u IFNlcCA3LCAyMDIxLCBhdCAxMDozNyBBTSwgQXVndXN0byBTdG9mZmVsICZsdDs8YSBocmVmPSJt YWlsdG86YXJzdG9mZmVsQGdtYWlsLmNvbSIgY2xhc3M9IiI+YXJzdG9mZmVsQGdtYWlsLmNvbTwv YT4mZ3Q7IHdyb3RlOjwvZGl2Pg0KPGJyIGNsYXNzPSJBcHBsZS1pbnRlcmNoYW5nZS1uZXdsaW5l Ij4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPk9uIE1vbiwgJm5ic3A7NiBTZXAgMjAy MSBhdCAxMzo1MywgQW5kcmVhcyBTY2h3YWIgJmx0OzxhIGhyZWY9Im1haWx0bzpzY2h3YWJAbGlu dXgtbTY4ay5vcmciIGNsYXNzPSIiPnNjaHdhYkBsaW51eC1tNjhrLm9yZzwvYT4mZ3Q7IHdyb3Rl OjxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNs YXNzPSIiPk9uIFNlcCAwNiAyMDIxLCBNaWNoYWVsIEFsYmludXMgd3JvdGU6PGJyIGNsYXNzPSIi Pg0KPGJyIGNsYXNzPSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9IiI+QW5kcmVh cyBTY2h3YWIgJmx0OzxhIGhyZWY9Im1haWx0bzpzY2h3YWJAbGludXgtbTY4ay5vcmciIGNsYXNz PSIiPnNjaHdhYkBsaW51eC1tNjhrLm9yZzwvYT4mZ3Q7IHdyaXRlczo8YnIgY2xhc3M9IiI+DQo8 YnIgY2xhc3M9IiI+DQo8YmxvY2txdW90ZSB0eXBlPSJjaXRlIiBjbGFzcz0iIj4NCjxibG9ja3F1 b3RlIHR5cGU9ImNpdGUiIGNsYXNzPSIiPg0KPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9 IiI+T2theSwgc28gaXMgdGhlIFRUWSBsaW5lIGxlbmd0aCBsaW1pdCBvZiB0aGUgT1MgYXZhaWxh YmxlIGluIExpc3A8YnIgY2xhc3M9IiI+DQpzb21ld2hlcmU/ICZuYnNwO090aGVyd2lzZSwgY2Fu IHdlIGF0IGxlYXN0IHRydXN0IHRoYXQgMTAyNCBpcyB0aGUgdW5pdmVyc2FsPGJyIGNsYXNzPSIi Pg0KbG93ZXIgYm91bmQ/PGJyIGNsYXNzPSIiPg0KPC9ibG9ja3F1b3RlPg0KPGJyIGNsYXNzPSIi Pg0KT24gc3lzdGVtcyB3aXRoIGEgUE9TSVggc2hlbGw6PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNz PSIiPg0KKGxldCAoKGRlZmF1bHQtZGlyZWN0b3J5ICZxdW90Oy8mcXVvdDspKTxiciBjbGFzcz0i Ij4NCiZuYnNwOyhyZWFkIChzaGVsbC1jb21tYW5kLXRvLXN0cmluZyAmcXVvdDtnZXRjb25mIExJ TkVfTUFYJnF1b3Q7KSkpPGJyIGNsYXNzPSIiPg0KPC9ibG9ja3F1b3RlPg0KPGJyIGNsYXNzPSIi Pg0KTElORV9NQVggaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgdHR5IGxpbmUgZGlzY2lwbGlu ZS48YnIgY2xhc3M9IiI+DQo8L2Jsb2NrcXVvdGU+DQo8YnIgY2xhc3M9IiI+DQpJJ2xsIG5ldmVy IGxlYXJuIGl0IDotKDxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCldlJ3ZlIGRpc2N1c3Nl ZCB0aGlzIGlzc3VlIHNvbWUgeWVhcnMgYWdvIGFscmVhZHkuIElJUkMsIHRoZSBvdXRjb21lIHdh czxiciBjbGFzcz0iIj4NCnRvIHVzZSAmcXVvdDtnZXRjb25mIFBJUEVfQlVGIC8mcXVvdDsgaW5z dGVhZC48YnIgY2xhc3M9IiI+DQo8L2Jsb2NrcXVvdGU+DQo8YnIgY2xhc3M9IiI+DQpOZWl0aGVy IGhhcyBQSVBFX0JVRi48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpBbmRyZWFzLjxiciBj bGFzcz0iIj4NCjwvYmxvY2txdW90ZT4NCjxiciBjbGFzcz0iIj4NCk9rYXkgdGhlbi4gU2luY2Ug dGhlcmUgc2VlbSB0byBiZSBubyBiZXR0ZXIgYWx0ZXJuYXRpdmVzLCBJIGhhdmU8YnIgY2xhc3M9 IiI+DQphdHRhY2hlZCBhIG5ldyBwYXRjaCByZWR1Y2luZyB0aGUgbGltaXQgdG8gYSBoYXJkLWNv ZGVkIDEwMjQgYnl0ZXMuICZuYnNwO0lmPGJyIGNsYXNzPSIiPg0Kc29tZSBkYXkgc29tZW9uZSBh ZGRzIGEgdmFyaWFibGUgc3BlY2lmeWluZyBhIG1vcmUgcHJlY2lzZSBsaW1pdCwgdGhlbjxiciBj bGFzcz0iIj4NCndlIGNhbiBjaGFuZ2UgdGhpcy48YnIgY2xhc3M9IiI+DQo8YnIgY2xhc3M9IiI+ DQpJIGhhdmUgYWxzbyByZWFycmFuZ2VkIHRoaW5ncyBhIGJpdCBzbyB0aGF0IHRoZSBzZXR1cCBj b2RlIGlzIHNlbnQgdG88YnIgY2xhc3M9IiI+DQp0aGUgaW5mZXJpb3IgcHJvY2VzcyBqdXN0IG9u Y2UsIHJhdGhlciB0aGFuIG9mIG9uIGV2ZXJ5IGNhbGwgdG88YnIgY2xhc3M9IiI+DQpgcHl0aG9u LXNoZWxsLXNlbmQtc3RyaW5nJy4gJm5ic3A7VGhpcyB3YXksIHRoZSBzbWFsbGVyIGxpbmUgbGVu Z3RoIGxpbWl0PGJyIGNsYXNzPSIiPg0KZG9lc24ndCBpbmNyZWFzZSB0b28gbXVjaCB0aGUgdXNl IG9mIHRlbXAgZmlsZXMsIHdoaWNoLCBhcyBJIG1lbnRpb25lZCw8YnIgY2xhc3M9IiI+DQppcyBz bG93IG92ZXIgc3NoLjxiciBjbGFzcz0iIj4NCjxiciBjbGFzcz0iIj4NCkl0IHdvdWxkIGJlIGdy ZWF0IGlmIHNvbWVvbmUgd2l0aCBhY2Nlc3MgdG8gYSBCU0QtbGlrZSBPUyBjb3VsZCB0ZXN0PGJy IGNsYXNzPSIiPg0KdGhpcy4gJm5ic3A7SSBjYW4gb25seSB0ZXN0IGxvY2FsbHkgb24gTGludXgg YW5kIG92ZXIgc3NoIGJldHdlZW4gTGludXg8YnIgY2xhc3M9IiI+DQptYWNoaW5lcy48YnIgY2xh c3M9IiI+DQo8YnIgY2xhc3M9IiI+DQpQUzogSSBoYXZlIHNvbWUgbW9yZSBzdWdnZXN0aW9ucyBh cm91bmQgdGhlIFB5dGhvbiBzaGVsbC4gJm5ic3A7SXMgdGhlIGlkZWFsPGJyIGNsYXNzPSIiPg0K d29ya2Zsb3cgdG8ga2VlcCBjcmVhdGluZyBidWdzIHdpdGggYSBzbWFsbCBwYXRjaCB0byBlYWNo IGltcHJvdmVtZW50LDxiciBjbGFzcz0iIj4NCm9yIGRvIHlvdSBwcmVmZXIgdG8gcmV2aWV3IGEg bGFyZ2VyIGNvbGxlY3Rpb24gb2YgY2hhbmdlcyBidW5kbGVkPGJyIGNsYXNzPSIiPg0KdG9nZXRo ZXI/PGJyIGNsYXNzPSIiPg0KPGJyIGNsYXNzPSIiPg0KPHNwYW4gaWQ9ImNpZDo4NjBDQ0E5OS1B RjVGLTRBMkMtODgzRS1GQ0RBOEJBOTk2RjgiPiZsdDswMDAxLVJlZHVjZS1saW1pdC1vZi1saW5l LWxlbmd0aC1zZW50LXRvLXRoZS1QeXRob24taW5mZXIucGF0Y2gmZ3Q7PC9zcGFuPjwvZGl2Pg0K PC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxiciBjbGFzcz0iIj4NCjxkaXYgY2xhc3M9 IiI+SSB0ZXN0ZWQgdGhlIHBhdGNoLCAwMDAxLVJlZHVjZS1saW1pdC1vZi1saW5lLWxlbmd0aC1z ZW50LXRvLXRoZS1QeXRob24taW5mZXIucGF0Y2gsIG9uIG1hY09TIDExLjUuMSBhbmQgYWx0aG91 Z2ggbXkgbWluaW1hbCBleGFtcGxlIHJ1bnMsIG15IG9yaWdpbmFsIGRvY3VtZW50IHVzaW5nIG9y ZyBiYWJlbCBzZXNzaW9uIHdpdGggbXVsdGlwbGUgcHl0aG9uIGJsb2NrcyBpcyBmYWlsaW5nIHdp dGggdGhlIG1lc3NhZ2UgaW4NCiB0aGUgbWluaSBidWZmZXImbmJzcDs8c3BhbiBzdHlsZT0iY2Fy ZXQtY29sb3I6IHJnYigwLCAwLCAwKTsgY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPuKA nElubGluZSBlcnJvcjogbXVsdGlsaW5lIHJlc3VsdCBjYW5ub3QgYmUgdXNlZDwvc3Bhbj48Zm9u dCBjb2xvcj0iIzAwMDAwMCIgY2xhc3M9IiI+4oCdLiBJIGNhbiB0cnkgc29tZSBsb3dlciB2YWx1 ZSB0aGFuIDEwMjQgYW5kIHJlcG9ydCBiYWNrLCBidXQgYmVsb3cgaXMgd2hhdCBJIHNhdyB3aXRo DQogYXR0ZW1wdGluZyB0byB1c2UgdGhlIGRlYnVnZ2VyIHRvIHNlZSB3aGF0IHRoZSBzdHJpbmcg bG9va3MgbGlrZSBpbiZuYnNwO215IHVzZSBjYXNlLjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9 IiI+PHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiByZ2IoMCwgMCwgMCk7IGNvbG9yOiByZ2IoMCwg MCwgMCk7IiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+DQo8L3NwYW4+PC9kaXY+DQo8ZGl2IGNsYXNz PSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBjb2xvcjogcmdiKDAs IDAsIDApOyIgY2xhc3M9IiI+U2V0dGluZyBkZWJ1Zy1vbi1lbnRyeSB0byZuYnNwOzwvc3Bhbj48 Zm9udCBjb2xvcj0iIzAwMDAwMCIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImNhcmV0LWNvbG9yOiBy Z2IoMCwgMCwgMCk7IiBjbGFzcz0iIj5jb21pbnQtc2VuZC1zdHJpbmcgYW5kIHJ1bm5pbmcgYSBz cmMgYmxvY2ssIEkgZ2V0Ojwvc3Bhbj48L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250 IGNvbG9yPSIjMDAwMDAwIiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw LCAwLCAwKTsiIGNsYXNzPSIiPjxiciBjbGFzcz0iIj4NCjwvc3Bhbj48L2ZvbnQ+PC9kaXY+DQo8 ZGl2IGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJjYXJldC1jb2xvcjogcmdiKDAsIDAsIDApOyBjb2xv cjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNv dXJpZXIiIGNsYXNzPSIiPkRlYnVnZ2VyIGVudGVyZWQtLXJldHVybmluZyB2YWx1ZTogbmlsPC9m b250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIiBjbGFzcz0iIj4m bmJzcDsgY29taW50LXNlbmQtc3RyaW5nKCMmbHQ7cHJvY2VzcyBmaWxlZGF0ZSZndDsgJnF1b3Q7 X19QWVRIT05fRUxfZXZhbF9maWxlKFwmcXVvdDsvdmFyL2ZvbGRlcnMva2YvemRwemdzOWQzMGIz amo0YmRrZGpmMXZ3MDAwMGduL1QvcHliUTdvQmhcJnF1b3Q7LCBcJnF1b3Q7L3Zhci9mb2xkZXJz L2tmLy4uLiZxdW90Oyk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNv dXJpZXIiIGNsYXNzPSIiPiZuYnNwOyBweXRob24tc2hlbGwtc2VuZC1maWxlKCZxdW90Oy92YXIv Zm9sZGVycy9rZi96ZHB6Z3M5ZDMwYjNqajRiZGtkamYxdncwMDAwZ24vVC9wLi4uJnF1b3Q7ICMm bHQ7cHJvY2VzcyBmaWxlZGF0ZSZndDsgJnF1b3Q7L3Zhci9mb2xkZXJzL2tmL3pkcHpnczlkMzBi M2pqNGJka2RqZjF2dzAwMDBnbi9UL3AuLi4mcXVvdDsgdCk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNs YXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPiZuYnNwOyBweXRob24tc2hlbGwt c2VuZC1zdHJpbmcoJnF1b3Q7dHJ5OlxuICZuYnNwOyAmbmJzcDtpbXBvcnQgYXN0XG4gJm5ic3A7 ICZuYnNwO3dpdGggb3BlbignL3Zhci9mb2xkZXJzL2tmLi4uJnF1b3Q7KTwvZm9udD48L2Rpdj4N CjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9IiI+Jm5ic3A7IG9yZy1i YWJlbC1weXRob24tLXNlbmQtc3RyaW5nKCZxdW90OypmaWxlZGF0ZSomcXVvdDsgJnF1b3Q7aW1w b3J0IGFzdFxud2l0aCBvcGVuKCcvdmFyL2ZvbGRlcnMva2YvemRwemdzOWQzMGIzLi4uJnF1b3Q7 KTwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9 IiI+Jm5ic3A7IG9yZy1iYWJlbC1weXRob24tZXZhbHVhdGUtc2Vzc2lvbigmcXVvdDsqZmlsZWRh dGUqJnF1b3Q7ICZxdW90O2ZpbGU9XCZxdW90O1Jvc3Rlcl9SZXBvcnQuY3N2XCZxdW90O1xuaW1w b3J0IG9zXG5pbXBvcnQgdGltZVxucHJpLi4uJnF1b3Q7IHZhbHVlICgmcXVvdDtyYXcmcXVvdDsg JnF1b3Q7cmVwbGFjZSZxdW90OykpPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBm YWNlPSJDb3VyaWVyIiBjbGFzcz0iIj4mbmJzcDsgb3JnLWJhYmVsLXB5dGhvbi1ldmFsdWF0ZSgm cXVvdDsqZmlsZWRhdGUqJnF1b3Q7ICZxdW90O2ZpbGU9XCZxdW90O1Jvc3Rlcl9SZXBvcnQuY3N2 XCZxdW90O1xuaW1wb3J0IG9zXG5pbXBvcnQgdGltZVxucHJpLi4uJnF1b3Q7IHZhbHVlICgmcXVv dDtyYXcmcXVvdDsgJnF1b3Q7cmVwbGFjZSZxdW90OykgbmlsKTwvZm9udD48L2Rpdj4NCjxkaXYg Y2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9IiI+Jm5ic3A7IG9yZy1iYWJlbC1l eGVjdXRlOnB5dGhvbigmcXVvdDtpbXBvcnQgb3NcbmltcG9ydCB0aW1lXG5wcmludCh0aW1lLnN0 cmZ0aW1lKFwmcXVvdDslWS0lbS0lLi4uJnF1b3Q7ICgoOnZhciBmaWxlIC4gJnF1b3Q7Um9zdGVy X1JlcG9ydC5jc3YmcXVvdDspICg6Y29sbmFtZS1uYW1lcykgKDpyb3duYW1lLW5hbWVzKSAoOnJl c3VsdC1wYXJhbXMgJnF1b3Q7cmF3JnF1b3Q7ICZxdW90O3JlcGxhY2UmcXVvdDspICg6cmVzdWx0 LXR5cGUgLiB2YWx1ZSkgKDpyZXN1bHRzDQogLiAmcXVvdDtyYXcgcmVwbGFjZSZxdW90OykgKDpl eHBvcnRzIC4gJnF1b3Q7cmVzdWx0cyZxdW90OykgKDpjYWNoZSAuICZxdW90O25vJnF1b3Q7KSAo Om5vd2ViIC4gJnF1b3Q7bm8mcXVvdDspICg6aGxpbmVzIC4gJnF1b3Q7bm8mcXVvdDspICg6YXN5 bmMgLiAmcXVvdDt5ZXMmcXVvdDspICg6dGFuZ2xlIC4gJnF1b3Q7cmVwb3J0cy5weSZxdW90Oykg KDpjb21tZW50cyAuICZxdW90O2JvdGgmcXVvdDspICg6c2Vzc2lvbiAuICZxdW90O2ZpbGVkYXRl JnF1b3Q7KSkpPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVy IiBjbGFzcz0iIj4mbmJzcDsgb3JnLWJhYmVsLWV4ZWN1dGUtc3JjLWJsb2NrKG5pbCAoJnF1b3Q7 cHl0aG9uJnF1b3Q7ICZxdW90O2ltcG9ydCBvc1xuaW1wb3J0IHRpbWVcbnByaW50KHRpbWUuc3Ry ZnRpbWUoXCZxdW90OyVZLSVtLSUuLi4mcXVvdDsgKCg6dmFyIGZpbGUgLiAmcXVvdDtSb3N0ZXJf UmVwb3J0LmNzdiZxdW90OykgKDpjb2xuYW1lLW5hbWVzKSAoOnJvd25hbWUtbmFtZXMpICg6cmVz dWx0LXBhcmFtcyAmcXVvdDtyZXBsYWNlJnF1b3Q7ICZxdW90O3JhdyZxdW90OykgKDpyZXN1bHQt dHlwZQ0KIC4gdmFsdWUpICg6cmVzdWx0cyAuICZxdW90O3JlcGxhY2UgcmF3JnF1b3Q7KSAoOmV4 cG9ydHMgLiAmcXVvdDtyZXN1bHRzJnF1b3Q7KSAoOnNlc3Npb24gLiAmcXVvdDtmaWxlZGF0ZSZx dW90OykgKDpjb21tZW50cyAuICZxdW90O2JvdGgmcXVvdDspICg6dGFuZ2xlIC4gJnF1b3Q7cmVw b3J0cy5weSZxdW90OykgKDphc3luYyAuICZxdW90O3llcyZxdW90OykgKDpobGluZXMgLiAmcXVv dDtubyZxdW90OykgKDpub3dlYiAuICZxdW90O25vJnF1b3Q7KSAoOmNhY2hlIC4gJnF1b3Q7bm8m cXVvdDspKSAmcXVvdDsmcXVvdDsgJnF1b3Q7ZmlsZV9kYXRlJnF1b3Q7IDc3MzUgJnF1b3Q7KHJl ZjolcykmcXVvdDspKTwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291 cmllciIgY2xhc3M9IiI+Jm5ic3A7IG9yZy1jdHJsLWMtY3RybC1jKG5pbCk8L2ZvbnQ+PC9kaXY+ DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPiZuYnNwOyBmdW5j YWxsLWludGVyYWN0aXZlbHkob3JnLWN0cmwtYy1jdHJsLWMgbmlsKTwvZm9udD48L2Rpdj4NCjxk aXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9IiI+Jm5ic3A7IGNvbW1hbmQt ZXhlY3V0ZShvcmctY3RybC1jLWN0cmwtYyk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxi ciBjbGFzcz0iIj4NCjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj5JZiBJIGxvb2sgYXQgdGhlIGZpbGUg cGFzc2VkLCBweWJRN29CaCwgdGhlIGNvbnRlbnRzIGxvb2tzIGxpa2UgaXQgd2lsbCBvcGVuIGFu b3RoZXIgZmlsZS48L2Rpdj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iY2FyZXQtY29sb3I6IHJnYigw LCAwLCAwKTsgY29sb3I6IHJnYigwLCAwLCAwKTsiIGNsYXNzPSIiPg0KPGRpdiBjbGFzcz0iIj48 YnIgY2xhc3M9IiI+DQo8L2Rpdj4NCjxkaXYgY2xhc3M9IiI+DQo8ZGl2IGNsYXNzPSIiPjxmb250 IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPnRyeTo8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIi Pjxmb250IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgaW1wb3J0IGFzdDwv Zm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9IiI+ Jm5ic3A7ICZuYnNwOyB3aXRoIG9wZW4oJy92YXIvZm9sZGVycy9rZi96ZHB6Z3M5ZDMwYjNqajRi ZGtkamYxdncwMDAwZ24vVC9iYWJlbC1LNE1iVTIvcHl0aG9uLWhOSUk0bCcpIGFzIF9fb3JnX2Jh YmVsX3B5dGhvbl90bXBmaWxlOjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFj ZT0iQ291cmllciIgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IF9fb3JnX2Jh YmVsX3B5dGhvbl9hc3QgPSBhc3QucGFyc2UoX19vcmdfYmFiZWxfcHl0aG9uX3RtcGZpbGUucmVh ZCgpKTwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xh c3M9IiI+Jm5ic3A7ICZuYnNwOyBfX29yZ19iYWJlbF9weXRob25fZmluYWwgPSBfX29yZ19iYWJl bF9weXRob25fYXN0LmJvZHlbLTFdPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBm YWNlPSJDb3VyaWVyIiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7IGlmIGlzaW5zdGFuY2UoX19vcmdf YmFiZWxfcHl0aG9uX2ZpbmFsLCBhc3QuRXhwcik6PC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0i Ij48Zm9udCBmYWNlPSJDb3VyaWVyIiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgX19vcmdfYmFiZWxfcHl0aG9uX2FzdC5ib2R5ID0gX19vcmdfYmFiZWxfcHl0aG9uX2FzdC5i b2R5WzotMV08L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIi IGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBleGVjKGNvbXBpbGUoX19vcmdf YmFiZWxfcHl0aG9uX2FzdCwgJyZsdDtzdHJpbmcmZ3Q7JywgJ2V4ZWMnKSk8L2ZvbnQ+PC9kaXY+ DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBfX29yZ19iYWJlbF9weXRob25fZmluYWwgPSBldmFsKGNvbXBpbGUo YXN0LkV4cHJlc3Npb24oPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJD b3VyaWVyIiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBfX29yZ19iYWJlbF9weXRob25fZmluYWwudmFsdWUpLCAnJmx0O3N0cmluZyZndDsnLCAnZXZh bCcpKTwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xh c3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHdpdGggb3BlbignL3Zhci9mb2xkZXJz L2tmL3pkcHpnczlkMzBiM2pqNGJka2RqZjF2dzAwMDBnbi9UL2JhYmVsLUs0TWJVMi9weXRob24t cmE0eXNGJywgJ3cnKSBhcyBfX29yZ19iYWJlbF9weXRob25fdG1wZmlsZTo8L2ZvbnQ+PC9kaXY+ DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPiZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IGlmIEZhbHNlOjwvZm9udD48L2Rpdj4NCjxk aXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAm bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBpbXBvcnQgcHByaW50PC9m b250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIiBjbGFzcz0iIj4m bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IF9f b3JnX2JhYmVsX3B5dGhvbl90bXBmaWxlLndyaXRlKHBwcmludC5wZm9ybWF0KF9fb3JnX2JhYmVs X3B5dGhvbl9maW5hbCkpPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJD b3VyaWVyIiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw OyBlbHNlOjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIg Y2xhc3M9IiI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBfX29yZ19iYWJlbF9weXRob25fdG1wZmlsZS53cml0ZShzdHIoX19vcmdfYmFiZWxf cHl0aG9uX2ZpbmFsKSk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNv dXJpZXIiIGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgZWxzZTo8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNs YXNzPSIiPjxmb250IGZhY2U9IkNvdXJpZXIiIGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7 ICZuYnNwOyBleGVjKGNvbXBpbGUoX19vcmdfYmFiZWxfcHl0aG9uX2FzdCwgJyZsdDtzdHJpbmcm Z3Q7JywgJ2V4ZWMnKSk8L2ZvbnQ+PC9kaXY+DQo8ZGl2IGNsYXNzPSIiPjxmb250IGZhY2U9IkNv dXJpZXIiIGNsYXNzPSIiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBfX29yZ19iYWJlbF9w eXRob25fZmluYWwgPSBOb25lPC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNl PSJDb3VyaWVyIiBjbGFzcz0iIj5leGNlcHQ6PC9mb250PjwvZGl2Pg0KPGRpdiBjbGFzcz0iIj48 Zm9udCBmYWNlPSJDb3VyaWVyIiBjbGFzcz0iIj4mbmJzcDsgJm5ic3A7IHJhaXNlPC9mb250Pjwv ZGl2Pg0KPGRpdiBjbGFzcz0iIj48Zm9udCBmYWNlPSJDb3VyaWVyIiBjbGFzcz0iIj5maW5hbGx5 OjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IiI+PGZvbnQgZmFjZT0iQ291cmllciIgY2xhc3M9 IiI+Jm5ic3A7ICZuYnNwOyBwcmludCgnb3JnX2JhYmVsX3B5dGhvbl9lb2UnKTwvZm9udD48L2Rp dj4NCjwvZGl2Pg0KPC9zcGFuPjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K --_000_66D968C29F9249509647C8DCD77A2EE0disneycom_-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 01:09:30 2021 Received: (at 49822) by debbugs.gnu.org; 8 Sep 2021 05:09:30 +0000 Received: from localhost ([127.0.0.1]:58199 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNppx-0007dp-Up for submit@debbugs.gnu.org; Wed, 08 Sep 2021 01:09:30 -0400 Received: from mail-wr1-f41.google.com ([209.85.221.41]:36738) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNppw-0007dc-2Y for 49822@debbugs.gnu.org; Wed, 08 Sep 2021 01:09:28 -0400 Received: by mail-wr1-f41.google.com with SMTP id g16so1274654wrb.3 for <49822@debbugs.gnu.org>; Tue, 07 Sep 2021 22:09:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=VHsj8UQ4mOVAFOFZjBYP3nFbDzC0mBPbd+goEUCY5uA=; b=eFGqp7/Nh0LGfgPCuhQ5qUBA3ILzYEEEICmZwTY9HNLLjTmhddEbhIEa7PqaqKCsWn JDk3IkvzIO0pWOyPG5IliJitu17QgcIQto3T0Iy3m+ducnxEtT3HjU1tc2jnsRGTUrdA RrcouJ0Z6ReLIcj7pyRtpO6XJRVxR6y3BNtgq1NZS4KwTnXPdy/3P/LYNFhpooWhZ4bh O5IfkAjIaqgSWv/w/DnbUTpTcVzojTREuQ62ZB0yCbIKD9d694rOgj5VknIWahtWqwRP VSP0nbez5CINcwVCiY3hP1nOJYAvDggh6a/3uQOcX9D6K8jyfodxbLgAK6iAifOuD63z 8Kbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=VHsj8UQ4mOVAFOFZjBYP3nFbDzC0mBPbd+goEUCY5uA=; b=oWuZEZ5gQ6fr9rjb/QwSkFqN0RqL1apo0Dvj539PtHeS/Y0XqdqM+XobwCiKs+FHhV 3WfggSxxMCs9plgz4n4rUhWHkVlrE6tq8uX+autSizeCnV93M182LbvbkCkdLu5x8MpE WKBW41Y/i1c4tbPQed/+yc/9R/cwU4pL+L9l8qJArm9EbLlaSpr8SNbGZ7ZHN0/pX/59 cQH7Qocv6R6auONhXwjYlnCyxixJV8VxfEZBvFZXwo5IVucYikUDovapnEwdQkDLbiwV kSQ8BgP6BMslmL0kEOslLmPUmUp6kazoE93rNrzedicRTTtLXVDk2M5LstYTIh6z16ut m4Lw== X-Gm-Message-State: AOAM532Od+8SKPsHUvh6VvxUKOmcck4Sac2E9a2Ntv50RVCGSqasJirP 6kXEIJum35cxhFpjurfsBNI= X-Google-Smtp-Source: ABdhPJxB1N9AzSBF9TKxtd0W5SSmyQ85n1B++dfNc+rILm1T3sgK4dknBObnj2TvHU8O07fLLVRUHw== X-Received: by 2002:adf:eb02:: with SMTP id s2mr1802228wrn.294.1631077762252; Tue, 07 Sep 2021 22:09:22 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id d8sm979407wrv.20.2021.09.07.22.09.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Sep 2021 22:09:21 -0700 (PDT) From: Augusto Stoffel To: "Barton, Mark" Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <66D968C2-9F92-4950-9647-C8DCD77A2EE0@disney.com> Date: Wed, 08 Sep 2021 07:09:20 +0200 In-Reply-To: <66D968C2-9F92-4950-9647-C8DCD77A2EE0@disney.com> (Mark Barton's message of "Wed, 8 Sep 2021 03:17:27 +0000") Message-ID: <87zgsnd56n.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: Andy Moreton , "emacs-devel@gnu.org" , Andreas Schwab , Stefan Monnier , "49822@debbugs.gnu.org" <49822@debbugs.gnu.org>, Michael Albinus , Lars Ingebrigtsen 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, 8 Sep 2021 at 03:17, "Barton, Mark" wrote: > I tested the patch, 0001-Reduce-limit-of-line-length-sent-to-the-Python-i= nfer.patch, on > macOS 11.5.1 and although my minimal example runs, my original document u= sing org babel > session with multiple python blocks is failing with the message in the mi= ni buffer =E2=80=9CInline error: > multiline result cannot be used=E2=80=9D. I can try some lower value than= 1024 and report back, but > below is what I saw with attempting to use the debugger to see what the s= tring looks like in my > use case. This looks like a different matter, and the patch below might solve it. But I think it would make sense to open a new bug for this point, to we get a chance of getting through with the TTY line limit discussion in this thread. diff --git a/lisp/org/ob-python.el b/lisp/org/ob-python.el index 7911205d08..e3714964b7 100644 --- a/lisp/org/ob-python.el +++ b/lisp/org/ob-python.el @@ -352,7 +352,7 @@ org-babel-python--send-string org-babel-python-eoe-indicator string-buffer)) (accept-process-output (get-buffer-process (current-buffer)))) - (org-babel-chomp (substring string-buffer 0 (match-beginning 0)))))) + (org-babel-chomp (substring string-buffer 1 (match-beginning 0)))))) =20 (defun org-babel-python-evaluate-session (session body &optional result-type result-params) From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 03:02:55 2021 Received: (at 49822) by debbugs.gnu.org; 8 Sep 2021 07:02:55 +0000 Received: from localhost ([127.0.0.1]:58366 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNrbj-0004X4-GT for submit@debbugs.gnu.org; Wed, 08 Sep 2021 03:02:55 -0400 Received: from mout.gmx.net ([212.227.15.18]:53387) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNrbi-0004Wq-1h for 49822@debbugs.gnu.org; Wed, 08 Sep 2021 03:02:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1631084561; bh=DXyE9wGXMutKMMYd5+ZYlOIf2hv63YvIjf6bD3oi+uk=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=MLNmyJJA4Pql7MCqxMk4J7/fvyms+WqWcsKNzECoZlTtdGpN2wQIWrQhmBeYCWjXP Ut0jwHhmzcjDL2VS2xGJ1m5OHNIkDVdK491crPFoY6Gdm3fFQejqnI+bonjA6Tb8Ns SNUsWPRajaXTn+LakoclheTN6HG3i0SK4CgH3Bkw= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from gandalf.gmx.de ([213.220.148.40]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mt79P-1nCoZ60EIr-00tU2W; Wed, 08 Sep 2021 09:02:41 +0200 From: Michael Albinus To: Eli Zaretskii Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <83y288nuoq.fsf@gnu.org> <87o894l0dr.fsf@gmail.com> <83tuiwnspl.fsf@gnu.org> <871r601a9f.fsf@gmail.com> <83pmtknqlq.fsf@gnu.org> Date: Wed, 08 Sep 2021 09:02:39 +0200 In-Reply-To: <83pmtknqlq.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 07 Sep 2021 22:16:33 +0300") Message-ID: <87sfyfbldc.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:exuDSoW6GZhwKUSit4pZXZDb9lycik9itUAdPQV82/Rh++bMUKN 9KrxcWZBE2FwWvBpRcDg3KgZwUOTXj1QJ9ha0nLCZ0PffllkNlAOEFuh2F1XCR+ikV17kVj Y9goo0ramlNq1NRkQA/xziDBx+/50EL+rC1VZgHQNRZ2rO03C4CkTSDz4CQEyi5O198ZebN zSVsY71HPgvFmZVGSWJWA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:7YuSp1yTnGE=:6THW/pDP5pCdCW6nNpowCJ liDWDKY54unBuYVVUfHgj1BZ98iwD5fwHf0ekh1kNBdlWt+3QPvIby5+DsCZ8OigPA28K89LD qK+Ci7AnXOdiCFDwX60RP2OcbxTGQr32LlWU7OzKwrXclXOi2SpDfL3xdn7L/SyWKk7e/BcFG lmzW/We9Oc1htBUIAkHCR8LTEr8ELAfgKU+IPYeMDSd0ZU0bVMt1yNH9IWPVVXaXwXjI4WUUl Q8iC/0N88W2Pkp568qwAokTLGNofMqVkoAgmDeMECSztobagjt1udZ8r/6mGuUpv1Kiar+ejS pi2zUOSEcm3fIcKUu3r0AFLc+JJHILlaxuYpZ2yX9rxb8RtRBJ+2E+mBeLehToBtgVgj6j90G um2RMIriLRYa482IpTpY7t8IhujMLjZ3jNmVwdY1AsZ9EGjNynHmwxrmoB5wNFkpqlbGAqtB6 GeCQRgV+lm9yqf6kB2bdgqx08Xoy6p2f0JxkDwYbE8EJHIFKi2XKMzvcF/tln+s879kXs6uh/ jhLC/zMQgaH8Ocz85Dou3QhSAazw+Z0+Srb2Zf9/2wHqXnOYTuvN9DCcGgmAsNvLrUO6kLoNH CSTfuwuSc77wY6ezLBvKjPjZ9lz6SaAsdVFTJaz2ZBtKc5xYD8TBrh2aNlJ5w43sih4fpUYCG tN+IEbMgfXIMZbaAH2Nf0DzjFv0OW5iofLT3ikbyqgnvNrJybabEo+UwcdfM8+kZbVBO1v6t8 tGkh7vmiMYJ39dZ3ebzUekftvY3AljPfPTL1CBa1iT4JH6f8isy9b91yABQwR820QiKQjCLJN wUi+3RWh8uDh8p0azHkUDmFIfbGbZMHMVIZLdHsrUp1SiQBnZxKQC7CAE+b6YW6o7BDcSJ1LN HtWjoof8cXVxQWiHpVv/5KWYDK48/hQynAoxZKGbUS91Got923w62la8o3pNmOcNbWvES9QRL LDAkMdtgsWi8MLdUmI2BVN+QlkK9TtOZf7pmMHKrjIOm9X/e3ZQOFErW0Gi7yRtt5hUox/0pQ D0NN+hNHFLPmTQTk665v8fMe0xDLoge165e3HJujEQgPtOZ+NjQMCXm58zkgbqcHy5wo8M5Ml ggjYgAAQUYErcQ= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 49822 Cc: andrewjmoreton@gmail.com, Mark.Barton@disney.com, emacs-devel@gnu.org, schwab@linux-m68k.org, monnier@iro.umontreal.ca, 49822@debbugs.gnu.org, larsi@gnus.org, Augusto Stoffel 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 (-) Eli Zaretskii writes: Hi, >> I'm sitting at machine A but my inferior process is running on >> machine B and the machines talk via SSH. > > You mean, you run a remote subprocess via Tramp? > >> There are several steps in the communication here: Emacs -> SSH client >> -> SSH server -> inferior process. Each step has potential limitations. >> If the SSH server talks to the inferior process via a PTY (I'm just >> pondering, and I don't know if this is usual setup or not), then we >> would have to take machine B's PTY restrictions into account, which >> would defeat the purpose of knowing the exact characteristics of machine >> A's PTYs. > > I don't see how B's PTY restrictions are relevant, but maybe Micheal > will (assuming you are talking about remote subprocesses). Tramp tries to handle such cases. But of course, a respective test wouldn't hurt. It could be on the machine which has shown the limitations, accessing it via "/ssh::". Best regards, Michael. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 03:50:38 2021 Received: (at 49822) by debbugs.gnu.org; 8 Sep 2021 07:50:38 +0000 Received: from localhost ([127.0.0.1]:58469 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNsLt-0003pW-PO for submit@debbugs.gnu.org; Wed, 08 Sep 2021 03:50:37 -0400 Received: from quimby.gnus.org ([95.216.78.240]:56686) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNsLr-0003pI-Kt for 49822@debbugs.gnu.org; Wed, 08 Sep 2021 03:50:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=UjAg32JAG6DTXM4cjjNS53Lr1O2hLXwjDMH5WZ+qk00=; b=H7Oy1Yx/JGU4ciqKxNabDStIIm Lw+p2eElrpa2atCZrTOwKOXDpiqNJOAT5dnSXrjH1trNAf8c6Gd8jyShS5ODvJXSOSR0fcsWPMEZJ 1vMmCmrh3Q5yXxakeCBUYopxAiyF/onmnhfOGzbSVM+MmifxxdylWH6i68a54IxVCwO0=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mNsLe-0000JV-Mz; Wed, 08 Sep 2021 09:50:25 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> Date: Wed, 08 Sep 2021 09:50:22 +0200 In-Reply-To: <875yvcmgm2.fsf@gmail.com> (Augusto Stoffel's message of "Tue, 07 Sep 2021 19:37:41 +0200") Message-ID: <877dfr5ww1.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > I have also rearranged things a bit so that the setup code is sent to > the inferior process just once, rather than of on every call to > `python-shell-send-string'. This way, the smaller line lengt [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: Andy Moreton , "Barton, Mark" , emacs-devel@gnu.org, Andreas Schwab , Stefan Monnier , 49822@debbugs.gnu.org, Michael Albinus 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: -3.3 (---) Augusto Stoffel writes: > I have also rearranged things a bit so that the setup code is sent to > the inferior process just once, rather than of on every call to > `python-shell-send-string'. This way, the smaller line length limit > doesn't increase too much the use of temp files, which, as I mentioned, > is slow over ssh. This leads to compilation warnings about python-shell-eval-file-setup-code etc. Can you adjust the patch to fix that, and also add the defconst for 1024, like Eli discussed? > PS: I have some more suggestions around the Python shell. Is the ideal > workflow to keep creating bugs with a small patch to each improvement, > or do you prefer to review a larger collection of changes bundled > together? Smaller patches are fine by me, and you can submit them with `M-x submit-emacs-patch'. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 08 10:05:25 2021 Received: (at 49822) by debbugs.gnu.org; 8 Sep 2021 14:05:25 +0000 Received: from localhost ([127.0.0.1]:33216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNyCa-0006fq-Ub for submit@debbugs.gnu.org; Wed, 08 Sep 2021 10:05:25 -0400 Received: from mail-wr1-f44.google.com ([209.85.221.44]:43633) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mNyCV-0006fZ-Dj for 49822@debbugs.gnu.org; Wed, 08 Sep 2021 10:05:23 -0400 Received: by mail-wr1-f44.google.com with SMTP id b6so3463960wrh.10 for <49822@debbugs.gnu.org>; Wed, 08 Sep 2021 07:05:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=sYW7XlJZ7MLuf3aqanS/27POetbwdkpqv5vsvdK7huI=; b=DezgbP9CLH7FSCc2RvpiPXy0813pUsndrhiMrbL6mGVhdPCjCs5HubjbPDkRVUBTBH rSEwbaD/zaNVtPGJgfTrQnt7L7SvwdrRA/f2ZSPyOOVupaGkS1z24FVpPVJJaBLylpMf ZUXaOqIL4d/p09Z6WCPSJGksBk21/hGTssI6S+yEPL0YpCcpGZlYU0MCy9Xda2VrwAbf 3JX3rSV/qrxyC8j7eki4Xy8ggpHEw/kBJ3auMANvqgeKSupus2DR+lAbR2vW1hQChjxm Cd4a5LT8cRFiKwT+HvNvHYeDm907Wdo8bbiWZtxX2x7ut5AZCh4pL73NDwofwbZQ/Ebq IovQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=sYW7XlJZ7MLuf3aqanS/27POetbwdkpqv5vsvdK7huI=; b=3EZzLU9AVTiyjfpuQmQdtPY5e0ZfBZzciNb9kZqH8i2BwSIuu4VVUY3DMTsqI4EPRF M3c/A6zqlSHTEfpaCl8iGvGQM5h/iUTlFNHfPcKJIOdu5cZ2iMTZb3LUP2ZcsRVR/Pf0 RXf9vgd1GFboHz3DBdkhbcrFpFFJqKsQyQM9gmOE6bDz//uCr4kv2aYwn3gUQ/hgt6jR c4IvLgLxoO/TGp34xSZtF+MgK/j4bIahFCaTn4dB8ovQ8eO47kBeXBqIWncTLm3f690D HK5FCY85yifBWLBJXrj5SwriR2KvxwDEsbDsND2yE+Fjg0ZdZhcvJBh4yP0ecmfctNeV t/UA== X-Gm-Message-State: AOAM532fxSskoNayJtPjaFZmF8mPJ/Amc4AUNBWbfPZXHfH2uWvn5geF A7IX56FSEdpW67tlg1sLcFc= X-Google-Smtp-Source: ABdhPJwhZQMopoSaLu2iqLVXV8YGXHj11mb7l3CrlmzQS8phCrKTSbDkGR9hHlrmWP5ueiPtzBdjtw== X-Received: by 2002:adf:de8f:: with SMTP id w15mr4409036wrl.277.1631109913518; Wed, 08 Sep 2021 07:05:13 -0700 (PDT) Received: from ars3 ([2a02:8109:8ac0:56d0::b1d]) by smtp.gmail.com with ESMTPSA id i11sm2292249wrb.48.2021.09.08.07.05.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Sep 2021 07:05:12 -0700 (PDT) From: Augusto Stoffel To: Lars Ingebrigtsen Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <877dfr5ww1.fsf@gnus.org> Date: Wed, 08 Sep 2021 16:05:11 +0200 In-Reply-To: <877dfr5ww1.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 08 Sep 2021 09:50:22 +0200") Message-ID: <87zgsnp3hk.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 49822 Cc: Andy Moreton , "Barton, Mark" , emacs-devel@gnu.org, Andreas Schwab , Stefan Monnier , 49822@debbugs.gnu.org, Michael Albinus 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 (-) --=-=-= Content-Type: text/plain On Wed, 8 Sep 2021 at 09:50, Lars Ingebrigtsen wrote: > Augusto Stoffel writes: > >> I have also rearranged things a bit so that the setup code is sent to >> the inferior process just once, rather than of on every call to >> `python-shell-send-string'. This way, the smaller line length limit >> doesn't increase too much the use of temp files, which, as I mentioned, >> is slow over ssh. > > This leads to compilation warnings about > python-shell-eval-file-setup-code etc. > > Can you adjust the patch to fix that, and also add the defconst for > 1024, like Eli discussed? > >> PS: I have some more suggestions around the Python shell. Is the ideal >> workflow to keep creating bugs with a small patch to each improvement, >> or do you prefer to review a larger collection of changes bundled >> together? > > Smaller patches are fine by me, and you can submit them with `M-x > submit-emacs-patch'. Hi Lars, I've attached a new patch addressing these 2 points. I've added the max line length defconst to comint.el, since this something general about PTYs. The value reflects my knowledge of the situation (4096 on Linux, possibly 1024 on other OSes). Hopefully other people will fill in more cases eventually. FWIW, when I read the man page for termios, it seems pretty clear that MAX_CANON is the name of this parameter we're discussing here. But if I do 'getconf MAX_CANON /', I get 255, which is definitely not the right value for my system. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Better-treatment-of-line-length-limits-for-the-Pytho.patch >From 3eab275464f4a53bf86153f5f3693e522a240b28 Mon Sep 17 00:00:00 2001 From: Augusto Stoffel Date: Mon, 6 Sep 2021 23:34:48 +0200 Subject: [PATCH] Better treatment of line length limits for the Python inferior * lisp/comint.el (comint-max-line-length): new constant reflecting a safe maximum line size that can be sent to an inferior process. * lisp/progmodes/python.el (python-shell-comint-watch-for-first-prompt-output-filter): Send setup code to the inferior process only once and at this stage. (python-shell-eval-setup-code, python-shell-eval-file-setup-code): Move, unchanged, to an earlier point to avoid byte-compiler warnings. (python-shell-send-string-no-output): Revert changes of e32c7d2a8d (python-shell-send-string): Use 'comint-max-line-length' to decide when to resort to temp files. (python-shell-send-string, python-shell-send-file): Don't send setup code each time. --- lisp/comint.el | 6 +++ lisp/progmodes/python.el | 98 +++++++++++++++++++++------------------- 2 files changed, 57 insertions(+), 47 deletions(-) diff --git a/lisp/comint.el b/lisp/comint.el index e058e6b8cf..c2e528a5d5 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -479,6 +479,12 @@ comint-terminfo-terminal :group 'comint :version "26.1") +(defconst comint-max-line-length + (pcase system-type + ('gnu/linux 4096) + (_ 1024)) + "Maximum line length, in bytes, accepted by the inferior process.") + (defvar comint-mode-map (let ((map (make-sparse-keymap))) ;; Keys: diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d8ec032402..4f222b4cf5 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -2811,6 +2811,44 @@ python-shell-first-prompt-hook :type 'hook :group 'python) +(defconst python-shell-eval-setup-code + "\ +def __PYTHON_EL_eval(source, filename): + import ast, sys + if sys.version_info[0] == 2: + from __builtin__ import compile, eval, globals + else: + from builtins import compile, eval, globals + sys.stdout.write('\\n') + try: + p, e = ast.parse(source, filename), None + except SyntaxError: + t, v, tb = sys.exc_info() + sys.excepthook(t, v, tb.tb_next) + return + if p.body and isinstance(p.body[-1], ast.Expr): + e = p.body.pop() + try: + g = globals() + exec(compile(p, filename, 'exec'), g, g) + if e: + return eval(compile(ast.Expression(e.value), filename, 'eval'), g, g) + except Exception: + t, v, tb = sys.exc_info() + sys.excepthook(t, v, tb.tb_next)" + "Code used to evaluate statements in inferior Python processes.") + +(defconst python-shell-eval-file-setup-code + "\ +def __PYTHON_EL_eval_file(filename, tempname, encoding, delete): + import codecs, os + with codecs.open(tempname or filename, encoding=encoding) as file: + source = file.read().encode(encoding) + if delete and tempname: + os.remove(tempname) + return __PYTHON_EL_eval(source, filename)" + "Code used to evaluate files in inferior Python processes.") + (defun python-shell-comint-watch-for-first-prompt-output-filter (output) "Run `python-shell-first-prompt-hook' when first prompt is found in OUTPUT." (when (not python-shell--first-prompt-received) @@ -2826,6 +2864,15 @@ python-shell-comint-watch-for-first-prompt-output-filter (setq python-shell--first-prompt-received-output-buffer nil) (setq-local python-shell--first-prompt-received t) (setq python-shell--first-prompt-received-output-buffer nil) + (cl-letf (((symbol-function 'python-shell-send-string) + (lambda (string process) + (comint-send-string + process + (format "exec(%s)\n" (python-shell--encode-string string)))))) + ;; Bootstrap: the normal definition of `python-shell-send-string' + ;; depends on the Python code sent here. + (python-shell-send-string-no-output python-shell-eval-setup-code) + (python-shell-send-string-no-output python-shell-eval-file-setup-code)) (with-current-buffer (current-buffer) (let ((inhibit-quit nil)) (run-hooks 'python-shell-first-prompt-hook)))))) @@ -3081,33 +3128,6 @@ python-shell--save-temp-file (delete-trailing-whitespace)) temp-file-name)) -(defconst python-shell-eval-setup-code - "\ -def __PYTHON_EL_eval(source, filename): - import ast, sys - if sys.version_info[0] == 2: - from __builtin__ import compile, eval, globals - else: - from builtins import compile, eval, globals - sys.stdout.write('\\n') - try: - p, e = ast.parse(source, filename), None - except SyntaxError: - t, v, tb = sys.exc_info() - sys.excepthook(t, v, tb.tb_next) - return - if p.body and isinstance(p.body[-1], ast.Expr): - e = p.body.pop() - try: - g = globals() - exec(compile(p, filename, 'exec'), g, g) - if e: - return eval(compile(ast.Expression(e.value), filename, 'eval'), g, g) - except Exception: - t, v, tb = sys.exc_info() - sys.excepthook(t, v, tb.tb_next)" - "Code used to evaluate statements in inferior Python processes.") - (defalias 'python-shell--encode-string (let ((fun (if (and (fboundp 'json-serialize) (>= emacs-major-version 28)) @@ -3128,12 +3148,11 @@ python-shell-send-string (interactive (list (read-string "Python command: ") nil t)) (let ((process (or process (python-shell-get-process-or-error msg))) - (code (format "exec(%s);__PYTHON_EL_eval(%s, %s)\n" - (python-shell--encode-string python-shell-eval-setup-code) + (code (format "__PYTHON_EL_eval(%s, %s)\n" (python-shell--encode-string string) (python-shell--encode-string (or (buffer-file-name) ""))))) - (if (<= (string-bytes code) 4096) + (if (<= (string-bytes code) comint-max-line-length) (comint-send-string process code) (let* ((temp-file-name (with-current-buffer (process-buffer process) (python-shell--save-temp-file string))) @@ -3180,8 +3199,7 @@ python-shell-send-string-no-output (inhibit-quit t)) (or (with-local-quit - (comint-send-string - process (format "exec(%s)\n" (python-shell--encode-string string))) + (python-shell-send-string string process) (while python-shell-output-filter-in-progress ;; `python-shell-output-filter' takes care of setting ;; `python-shell-output-filter-in-progress' to NIL after it @@ -3378,18 +3396,6 @@ python-shell-send-defun nil ;; noop msg)))) - -(defconst python-shell-eval-file-setup-code - "\ -def __PYTHON_EL_eval_file(filename, tempname, encoding, delete): - import codecs, os - with codecs.open(tempname or filename, encoding=encoding) as file: - source = file.read().encode(encoding) - if delete and tempname: - os.remove(tempname) - return __PYTHON_EL_eval(source, filename)" - "Code used to evaluate files in inferior Python processes.") - (defun python-shell-send-file (file-name &optional process temp-file-name delete msg) "Send FILE-NAME to inferior Python PROCESS. @@ -3419,9 +3425,7 @@ python-shell-send-file (comint-send-string process (format - "exec(%s);exec(%s);__PYTHON_EL_eval_file(%s, %s, %s, %s)\n" - (python-shell--encode-string python-shell-eval-setup-code) - (python-shell--encode-string python-shell-eval-file-setup-code) + "__PYTHON_EL_eval_file(%s, %s, %s, %s)\n" (python-shell--encode-string file-name) (python-shell--encode-string (or temp-file-name "")) (python-shell--encode-string (symbol-name encoding)) -- 2.31.1 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Thu Sep 09 09:49:10 2021 Received: (at 49822) by debbugs.gnu.org; 9 Sep 2021 13:49:10 +0000 Received: from localhost ([127.0.0.1]:34482 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOKQQ-0004VT-8V for submit@debbugs.gnu.org; Thu, 09 Sep 2021 09:49:10 -0400 Received: from quimby.gnus.org ([95.216.78.240]:43354) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOKQL-0004Uu-OH for 49822@debbugs.gnu.org; Thu, 09 Sep 2021 09:49:09 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org; s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=LC+XV4gDK80vLRhZ+AiVb9tzsdgnfYCnv/QWKu8hC+U=; b=LqJPG/yRgtyQpdmc3ehBMF12Uz EgucadagM9/qP0WknQZ69TalmqGlO8qdCqzHC79dGD6cNOGulcbbzgP1rCAk2QsP0aqUQpRSAABTA a9RftGPXIWHiscFgNXblBsWUkdb3MTxWtCiFiaAy8xacOjdjz7h/bKCVlqepohSknGmE=; Received: from [84.212.220.105] (helo=elva) by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mOKQ8-0007XH-3h; Thu, 09 Sep 2021 15:48:54 +0200 From: Lars Ingebrigtsen To: Augusto Stoffel Subject: Re: bug#49822: master e32c7d2: Change Python eval to send directly instead of using temporary files References: <20210903122828.16890.65271@vcs0.savannah.gnu.org> <20210903122829.EAAC220B71@vcs0.savannah.gnu.org> <87r1e4eklw.fsf@gmail.com> <87v93fnfmm.fsf@igel.home> <87lf4aooge.fsf@gmail.com> <878s0a409g.fsf@gmx.de> <87ilzef65i.fsf@igel.home> <878s0aeyna.fsf@gmx.de> <87r1e1ex7z.fsf@igel.home> <875yvcmgm2.fsf@gmail.com> <877dfr5ww1.fsf@gnus.org> <87zgsnp3hk.fsf@gmail.com> Date: Thu, 09 Sep 2021 15:48:51 +0200 In-Reply-To: <87zgsnp3hk.fsf@gmail.com> (Augusto Stoffel's message of "Wed, 08 Sep 2021 16:05:11 +0200") Message-ID: <87k0jpvozg.fsf@gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Augusto Stoffel writes: > I've attached a new patch addressing these 2 points. Thanks; applied to Emacs 28. Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 49822 Cc: Andy Moreton , "Barton, Mark" , emacs-devel@gnu.org, Andreas Schwab , Stefan Monnier , 49822@debbugs.gnu.org, Michael Albinus 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: -3.3 (---) Augusto Stoffel writes: > I've attached a new patch addressing these 2 points. Thanks; applied to Emacs 28. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sat Sep 06 02:33:03 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 08 Oct 2021 11:24:04 +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