From unknown Wed Jun 25 02:08:16 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#28402 <28402@debbugs.gnu.org> To: bug#28402 <28402@debbugs.gnu.org> Subject: Status: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions Reply-To: bug#28402 <28402@debbugs.gnu.org> Date: Wed, 25 Jun 2025 09:08:16 +0000 retitle 28402 25.2; shr.el uses shr-tag-img despite set shr-external-render= ing-functions reassign 28402 emacs submitter 28402 Vasilij Schneidermann severity 28402 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 09 15:39:54 2017 Received: (at submit) by debbugs.gnu.org; 9 Sep 2017 19:39:54 +0000 Received: from localhost ([127.0.0.1]:57900 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqlbe-0005kV-0t for submit@debbugs.gnu.org; Sat, 09 Sep 2017 15:39:54 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43290) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqlbb-0005kH-JT for submit@debbugs.gnu.org; Sat, 09 Sep 2017 15:39:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqlbV-0000g0-Lm for submit@debbugs.gnu.org; Sat, 09 Sep 2017 15:39:46 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:55538) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dqlbV-0000fn-I3 for submit@debbugs.gnu.org; Sat, 09 Sep 2017 15:39:45 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34258) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dqlbU-0006S7-Jz for bug-gnu-emacs@gnu.org; Sat, 09 Sep 2017 15:39:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqlbU-0000dS-0h for bug-gnu-emacs@gnu.org; Sat, 09 Sep 2017 15:39:44 -0400 Received: from mail-pg0-x233.google.com ([2607:f8b0:400e:c05::233]:35915) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dqlbT-0000XO-Py for bug-gnu-emacs@gnu.org; Sat, 09 Sep 2017 15:39:43 -0400 Received: by mail-pg0-x233.google.com with SMTP id i130so2178606pgc.3 for ; Sat, 09 Sep 2017 12:39:40 -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:cc; bh=7l0/IxEuaT7tfZvPQV2Y7YeN/PC2yT5SI5J0uyQ80Qw=; b=n2HkOuNoIUxEas6SWyeIMHCBBXefj6RmtRT/Qcqlq3VqieoMSb4uq4yKpBN2aFr9oD Beu5p26XWmgdpV+A6iorymTxqPd4ZYAFUF+HxmIF4cbvzM0Oy16ccvp11FI8Yh5S3Y6O imjuic1L5PL6QTwr/pBrM48obaAJciD0LQybJYxKaosc+7DnqP2BKorvIidaZyvTNdSi Bv+peKA6WtUGtxkkLV1OtOm88GT5KY0DpXNlL9tt3CrJMuE4HJEo2d3WEGemQD0QZiKy hyNVkVDMFOGUPmttnSkbDtQbAPwwLSZh4UGuExtI2YpJ0U1JTcsYTq0h5E7ECvEzfhjk 3AAg== 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:cc; bh=7l0/IxEuaT7tfZvPQV2Y7YeN/PC2yT5SI5J0uyQ80Qw=; b=b1GJh3utTpw5c+xG1IJSrZgO14aXBjqQWtFWUooo2JP6gyHTp7SF/jun5OEQLp080u W4lgmI9hIgAl+cSpMrUudTQLON89Hafgat2UXtkU6OuCQg8Hpc3xPCStiU+1biP7/S4s 5P+jFnNDi+MnC8yaz+oXHuW4Ae8GVuMP8lcheun1kv7gKpB99ZsoOzcrIDhq8PvRffEZ PmCmcmVUaCPhqtaE43zQZILKZbI/Gm9DP4CWpPRbUAebcUxh8GkGi726ON80wj1ktPF7 kL7dQtm0HB+ILWcAYkpMIBaQtgQDAq5wp5yMCFFnvBqBM8Oh5dvE4sqwoog3b74NXd/Y RZOA== X-Gm-Message-State: AHPjjUgHhIQH0Mw3dK7OmZfbIAcm+0v95PTHEauDG/g53mTkkGUazLE1 R6emKBeDQQy65gUO/U2b4IGuL5aFWj9sqGaJdDMZBA== X-Google-Smtp-Source: ADKCNb7mkpUp41+ino87nsgbK/1S0J5j04jDn040nbdlmXqBSJjUtCjEQBVh2Ns3eIeJWTPKDhF3pcXG7oCTqX+4r9E= X-Received: by 10.84.210.12 with SMTP id z12mr7810933plh.433.1504985980089; Sat, 09 Sep 2017 12:39:40 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.170.193 with HTTP; Sat, 9 Sep 2017 12:39:39 -0700 (PDT) From: Vasilij Schneidermann Date: Sat, 9 Sep 2017 21:39:39 +0200 Message-ID: Subject: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions To: bug-gnu-emacs@gnu.org Content-Type: text/plain; charset="UTF-8" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit Cc: 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: -4.0 (----) I'm using shr.el for a package and override `shr-tag-img` by let-binding `shr-external-rendering-functions` to an alist containing an alternative rendering function that deals better with local images. Despite this `shr-tag-img` is still directly called when rendering tables with images inside them. The same problem applies to other directly called rendering functions, as opposed to indirectly called ones as seen in `shr-descend`, the function honoring `shr-external-rendering-functions`. From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 11 12:05:57 2017 Received: (at 28402) by debbugs.gnu.org; 11 Sep 2017 16:05:57 +0000 Received: from localhost ([127.0.0.1]:33777 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drRDd-0007EZ-CH for submit@debbugs.gnu.org; Mon, 11 Sep 2017 12:05:57 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46372) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drRDY-0007EJ-FT for 28402@debbugs.gnu.org; Mon, 11 Sep 2017 12:05:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1drRDO-0004S4-Vn for 28402@debbugs.gnu.org; Mon, 11 Sep 2017 12:05:43 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:34335) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1drRCg-00044C-0K; Mon, 11 Sep 2017 12:04:54 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4418 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1drRCe-00052i-SJ; Mon, 11 Sep 2017 12:04:53 -0400 Date: Mon, 11 Sep 2017 19:04:42 +0300 Message-Id: <83poaxrzl1.fsf@gnu.org> From: Eli Zaretskii To: Vasilij Schneidermann In-reply-to: (message from Vasilij Schneidermann on Sat, 9 Sep 2017 21:39:39 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: larsi@gnus.org, 28402@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Vasilij Schneidermann > Date: Sat, 9 Sep 2017 21:39:39 +0200 > Cc: larsi@gnus.org > > I'm using shr.el for a package and override `shr-tag-img` by let-binding > `shr-external-rendering-functions` to an alist containing an alternative > rendering function that deals better with local images. Despite this > `shr-tag-img` is still directly called when rendering tables with images > inside them. The same problem applies to other directly called > rendering functions, as opposed to indirectly called ones as seen in > `shr-descend`, the function honoring `shr-external-rendering-functions`. >From a cursory look into shr.el, it looks like shr-external-rendering-functions were introduced to support some specific eww.el needs, not as a general lever for tweaking shr.el from outside it. That's why only a handful of functions honor that variable. Would you like to submit a patch that would make all shr-tag-* functions consult that variable first? From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 13:22:43 2017 Received: (at 28402) by debbugs.gnu.org; 13 Sep 2017 17:22:43 +0000 Received: from localhost ([127.0.0.1]:38629 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsBN4-0002gU-Qz for submit@debbugs.gnu.org; Wed, 13 Sep 2017 13:22:43 -0400 Received: from mail-wm0-f51.google.com ([74.125.82.51]:45575) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsBN2-0002gH-Ri for 28402@debbugs.gnu.org; Wed, 13 Sep 2017 13:22:41 -0400 Received: by mail-wm0-f51.google.com with SMTP id g206so12289318wme.0 for <28402@debbugs.gnu.org>; Wed, 13 Sep 2017 10:22:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=ZklBU+Ak0SwBR38+8n8gGvzA8LRS3g6Jjl/zI8EsAqY=; b=cOYfym4vLKEezfGpLSGx1IK4PC3MOBhs1jNt48jpLbgok/RGwoka5DSUkHO3Wa5xJ+ 8OWyrxN7eAdw3NKcGIZujtrjvynAKdKwgfkW8XjrDyLlf7dEKEnQnp0fSBQ/Vt0Wfoys QfKQkUlqQLLFwRcPzjOlfKshccfA+FY8u8sEAb1AISb0dakm3U/R7eBBsskufkjERStD 5VB+KHPhmh8rYqbEzuC0x7RwAEUS0ikfp3fK/h2HB/o6/b4G1lNnNpOipJMnWFs+yLS6 llh0keIbwKL8GZZH1K140OaDrxSsLHPmFDwRxXTCid9VTFV5eo9etzy++ZrCV5qslW0y Gjpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=ZklBU+Ak0SwBR38+8n8gGvzA8LRS3g6Jjl/zI8EsAqY=; b=IPJ9vCnjSvJ3KO7Ez0b7vyDHm9hSv8/9nI+37i2mwYWLYY15tDV1+zLOogcgjldSKj UK7RAwDqOwTtWn5BtNbfmDUHEI8NSBCbQ2uECWqGsyBVkO05yPyUlk4ZFLLkXsWLqL4g lW5LbpMkhoHqHvZF9EL2yJJtBSnakF8nq/Otvr44O8pfEEMxXE7GfLJ4d8tXnMDVAE5A J63Pw1vOfDpKKJMFytXHe1g4BYZQ97azT1k2qAOzvIx2R1so2Jxb5IIu4zGUIdO23TXG gFY/45mSnLjDzFzHqFOFhQCW9GqkPYDSzuKvYazYQE1r3XwoRl8gTW1o4HKF2qn7ruwg xR5w== X-Gm-Message-State: AHPjjUihrcUtfKyVXTD04BE8f8ceJcGn4fv/YlxDF7ZiVnpPSaTrLJis YbrZGI+cPb87vp6awnk= X-Google-Smtp-Source: AOwi7QDFStpKN2ZhHCq42bs53o5iatI5knahi/CS+6AS4OH07LUNNYZ6JOHH3cLkr5xrSkUdlmwonQ== X-Received: by 10.80.182.7 with SMTP id b7mr642595ede.61.1505323355177; Wed, 13 Sep 2017 10:22:35 -0700 (PDT) Received: from localhost (dslb-092-072-006-014.092.072.pools.vodafone-ip.de. [92.72.6.14]) by smtp.gmail.com with ESMTPSA id h33sm6597516edh.70.2017.09.13.10.22.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 13 Sep 2017 10:22:34 -0700 (PDT) Date: Wed, 13 Sep 2017 19:22:32 +0200 From: Vasilij Schneidermann To: Eli Zaretskii Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions Message-ID: <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> References: <83poaxrzl1.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <83poaxrzl1.fsf@gnu.org> User-Agent: NeoMutt/20170714-155-820ab5 (1.8.3) X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: larsi@gnus.org, 28402@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: -0.0 (/) > From a cursory look into shr.el, it looks like > shr-external-rendering-functions were introduced to support some > specific eww.el needs, not as a general lever for tweaking shr.el from > outside it. That's why only a handful of functions honor that > variable. I suspected as much. > Would you like to submit a patch that would make all shr-tag-* > functions consult that variable first? Before doing that I'd like to get a confirmation from the author whether it's intended for shr-external-rendering-functions to become public API and whether it should work globally, hence why I included them in the CC. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 13:27:36 2017 Received: (at 28402) by debbugs.gnu.org; 13 Sep 2017 17:27:36 +0000 Received: from localhost ([127.0.0.1]:38641 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsBRo-0002nc-Kx for submit@debbugs.gnu.org; Wed, 13 Sep 2017 13:27:36 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:56034) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsBRm-0002nL-SL for 28402@debbugs.gnu.org; Wed, 13 Sep 2017 13:27:35 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dsBRh-0000R4-Fc; Wed, 13 Sep 2017 19:27:31 +0200 From: Lars Ingebrigtsen To: Vasilij Schneidermann Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: Date: Wed, 13 Sep 2017 19:27:29 +0200 In-Reply-To: (Vasilij Schneidermann's message of "Sat, 9 Sep 2017 21:39:39 +0200") Message-ID: <87o9qezeym.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: 28402@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: 0.0 (/) Vasilij Schneidermann writes: > I'm using shr.el for a package and override `shr-tag-img` by let-binding > `shr-external-rendering-functions` to an alist containing an alternative > rendering function that deals better with local images. Despite this > `shr-tag-img` is still directly called when rendering tables with images > inside them. I think it would be nice to alter those direct calls to heed `shr-external-rendering-functions'. Doesn't seem to be much potential for performance degradation that I can see... Perhaps introduce a helper function like `(shr-indirect-call 'img child)' or something... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 13 14:38:09 2017 Received: (at 28402) by debbugs.gnu.org; 13 Sep 2017 18:38:09 +0000 Received: from localhost ([127.0.0.1]:38770 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsCY1-0006M4-Sh for submit@debbugs.gnu.org; Wed, 13 Sep 2017 14:38:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:53698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsCXx-0006LY-DJ for 28402@debbugs.gnu.org; Wed, 13 Sep 2017 14:38:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsCXo-0002lg-Aw for 28402@debbugs.gnu.org; Wed, 13 Sep 2017 14:37:56 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53969) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsCXX-0002UV-K2; Wed, 13 Sep 2017 14:37:35 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3771 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsCXS-0000El-Ct; Wed, 13 Sep 2017 14:37:35 -0400 Date: Wed, 13 Sep 2017 21:37:17 +0300 Message-Id: <83lglio36q.fsf@gnu.org> From: Eli Zaretskii To: Vasilij Schneidermann In-reply-to: <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> (message from Vasilij Schneidermann on Wed, 13 Sep 2017 19:22:32 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: larsi@gnus.org, 28402@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Wed, 13 Sep 2017 19:22:32 +0200 > From: Vasilij Schneidermann > Cc: 28402@debbugs.gnu.org, larsi@gnus.org > > > Would you like to submit a patch that would make all shr-tag-* > > functions consult that variable first? > > Before doing that I'd like to get a confirmation from the author whether > it's intended for shr-external-rendering-functions to become public API > and whether it should work globally, hence why I included them in the > CC. Fair enough. Fortunately, it sounds like Lars have just agreed to that. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 24 09:11:01 2017 Received: (at 28402) by debbugs.gnu.org; 24 Sep 2017 13:11:01 +0000 Received: from localhost ([127.0.0.1]:55300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dw6gW-0000lP-Oa for submit@debbugs.gnu.org; Sun, 24 Sep 2017 09:11:01 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:34206) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dw6gU-0000lB-SX for 28402@debbugs.gnu.org; Sun, 24 Sep 2017 09:10:59 -0400 Received: by mail-wm0-f68.google.com with SMTP id i131so4986383wma.1 for <28402@debbugs.gnu.org>; Sun, 24 Sep 2017 06:10:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=9+ZytphHuLNKlI6ObqhcMq0y3W1KN4QBFfEOLDRBd7o=; b=KBILgB/7sZpOEyKB7jLfgQ46X5dqpDLQF9xIEhmncHGGoRmfvPULvGkNcjEwtoGnzu 8VSiAHFGE8WK2RFwXlUqvpylIIFp/Z1W7+OZv+tC2mCG11BMdMu038AXxMy1Bg2XdAQB Ic9rkQKmE/5UR7Yq+Z3PcoKnBYT63dIU3DzQr9rq8k7I3pD5gzuVYtpu+bWPE3JBpZF7 upq4X/wZYBanhzwoIMQfoOiXQcJfZdedhrgMG3mQhplA7uRm9JBwCyzq7ZDzS9fu7Tfn MjlU6wp4Re8rPViHVNlwlBXf+Nx08c37frcdcJifOYdZUFKyMn4CUrgbiSgx6YOnvW/N 62mA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=9+ZytphHuLNKlI6ObqhcMq0y3W1KN4QBFfEOLDRBd7o=; b=VN4OtU/xnKhan04x6/TdunyjNxJsw0d7CIbLmcjOI+5Tfu8RkbHy1tq4Z1at/Lim+3 vearx7uCd/njqqIij5MpHgzo27/6YoIdXe6AFFlE+Cxw2PbUCDXsKYB1C3f8oAB+YDYl TZHBim2mbIaS+lLTbhSZAjzCCS1h2AlCHmxYVb2RNnKO9Lf68pszzT94NaFQwW7kBNcB kT16rDilsRUk3p9RCASUeTj6rb+lcyX2BWTCEgzMYCORf/7PFw50+UjjAyX0Y6msQYto ewQQpjXIiMmh4mjm81HEWLuprwt6aawPm8jACGPd362DL3lOYgBIEx1gfpNzhThlS47Y BF7w== X-Gm-Message-State: AHPjjUg4Crx24Fm9aHvP++QTdBm15mM2dih2WM/RjCM6Ae9x35sz343L OH6etq7av/mZIs6yt6Ml8xY= X-Google-Smtp-Source: AOwi7QBKdxIYVU1Cu1xOLslLUEKMAz57EgmCYvAZBYnj1uRkoXaFUe/mmly4LNm6MK/xE0n/hpOVWg== X-Received: by 10.80.149.75 with SMTP id v11mr11107658eda.284.1506258653074; Sun, 24 Sep 2017 06:10:53 -0700 (PDT) Received: from localhost (dslb-094-220-201-116.094.220.pools.vodafone-ip.de. [94.220.201.116]) by smtp.gmail.com with ESMTPSA id w10sm2725528eda.73.2017.09.24.06.10.51 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 24 Sep 2017 06:10:51 -0700 (PDT) Date: Sun, 24 Sep 2017 15:10:50 +0200 From: Vasilij Schneidermann To: Eli Zaretskii Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions Message-ID: <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b4l355ypf6qri5xh" Content-Disposition: inline In-Reply-To: <83lglio36q.fsf@gnu.org> User-Agent: NeoMutt/20170714-155-820ab5 (1.8.3) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 28402 Cc: larsi@gnus.org, 28402@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: 0.5 (/) --b4l355ypf6qri5xh Content-Type: text/plain; charset=utf-8 Content-Disposition: inline > Fair enough. Fortunately, it sounds like Lars have just agreed to > that. Alright, I finally got to creating a patch for this. --b4l355ypf6qri5xh Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="0001-Add-indirection-to-all-shr-tag-calls.patch" >From abe3f5702999b3b11645d924c7d05f48f4a265c4 Mon Sep 17 00:00:00 2001 From: Vasilij Schneidermann Date: Sun, 24 Sep 2017 14:59:10 +0200 Subject: [PATCH] Add indirection to all shr-tag-* calls The 'shr-external-rendering-functions' variable was previously only honored in the shr-descend function, now all direct calls to the shr-tag-* functions have been replaced by a call to 'shr-indirect-call' which tries using an alternative rendering function first. * lisp/net/shr.el (shr-indirect-call): New helper function. (shr-descend, shr-tag-object, shr-tag-video): (shr-collect-extra-strings-in-table): Fix callers --- lisp/net/shr.el | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 7af6148e47..fe5197b35f 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -470,12 +470,20 @@ shr-generic (shr-insert sub) (shr-descend sub)))) +(defun shr-indirect-call (tag-name dom &rest args) + (let ((function (intern (concat "shr-tag-" (symbol-name tag-name)) obarray)) + ;; Allow other packages to override (or provide) rendering + ;; of elements. + (external (cdr (assq tag-name shr-external-rendering-functions)))) + (cond (external + (apply external dom args)) + ((fboundp function) + (apply function dom args)) + (t + (apply 'shr-generic dom args))))) + (defun shr-descend (dom) - (let ((function - (intern (concat "shr-tag-" (symbol-name (dom-tag dom))) obarray)) - ;; Allow other packages to override (or provide) rendering - ;; of elements. - (external (cdr (assq (dom-tag dom) shr-external-rendering-functions))) + (let ((tag-name (dom-tag dom)) (style (dom-attr dom 'style)) (shr-stylesheet shr-stylesheet) (shr-depth (1+ shr-depth)) @@ -490,12 +498,7 @@ shr-descend (setq style nil))) ;; If we have a display:none, then just ignore this part of the DOM. (unless (equal (cdr (assq 'display shr-stylesheet)) "none") - (cond (external - (funcall external dom)) - ((fboundp function) - (funcall function dom)) - (t - (shr-generic dom))) + (shr-indirect-call tag-name dom) (when (and shr-target-id (equal (dom-attr dom 'id) shr-target-id)) ;; If the element was empty, we don't have anything to put the @@ -1404,7 +1407,7 @@ shr-tag-object (when url (cond (image - (shr-tag-img dom url) + (shr-indirect-call 'img dom url) (setq dom nil)) (multimedia (shr-insert " [multimedia] ") @@ -1469,7 +1472,7 @@ shr-tag-video (unless url (setq url (car (shr--extract-best-source dom)))) (if (> (length image) 0) - (shr-tag-img nil image) + (shr-indirect-call 'img nil image) (shr-insert " [video] ")) (shr-urlify start (shr-expand-url url)))) @@ -1964,9 +1967,9 @@ shr-collect-extra-strings-in-table do (setq tag (dom-tag child)) and unless (memq tag '(comment style)) if (eq tag 'img) - do (shr-tag-img child) + do (shr-indirect-call 'img child) else if (eq tag 'object) - do (shr-tag-object child) + do (shr-indirect-call 'object child) else do (setq recurse t) and if (eq tag 'tr) @@ -1980,7 +1983,7 @@ shr-collect-extra-strings-in-table do (setq flags nil) else if (car flags) do (setq recurse nil) - (shr-tag-table child) + (shr-indirect-call 'table child) end end end end end end end end end end when recurse append (shr-collect-extra-strings-in-table child flags))) -- 2.14.1 --b4l355ypf6qri5xh-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 29 03:32:03 2017 Received: (at 28402) by debbugs.gnu.org; 29 Sep 2017 07:32:03 +0000 Received: from localhost ([127.0.0.1]:37488 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxpmB-0005Qv-Pn for submit@debbugs.gnu.org; Fri, 29 Sep 2017 03:32:03 -0400 Received: from eggs.gnu.org ([208.118.235.92]:45810) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dxpm6-0005Qg-N5 for 28402@debbugs.gnu.org; Fri, 29 Sep 2017 03:31:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dxplx-0005i2-ML for 28402@debbugs.gnu.org; Fri, 29 Sep 2017 03:31:49 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57445) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dxplc-0005Xk-Dn; Fri, 29 Sep 2017 03:31:24 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4941 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dxplb-0000E2-PL; Fri, 29 Sep 2017 03:31:24 -0400 Date: Fri, 29 Sep 2017 10:31:15 +0300 Message-Id: <838tgy9d18.fsf@gnu.org> From: Eli Zaretskii To: Vasilij Schneidermann In-reply-to: <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> (message from Vasilij Schneidermann on Sun, 24 Sep 2017 15:10:50 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: larsi@gnus.org, 28402@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Sun, 24 Sep 2017 15:10:50 +0200 > From: Vasilij Schneidermann > Cc: 28402@debbugs.gnu.org, larsi@gnus.org > > > Fair enough. Fortunately, it sounds like Lars have just agreed to > > that. > > Alright, I finally got to creating a patch for this. Thanks, this LGTM. Lars, any comments? If no objections are voiced in a few days, I will push to the emacs-26 branch. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 06:03:04 2017 Received: (at 28402-done) by debbugs.gnu.org; 5 Oct 2017 10:03:04 +0000 Received: from localhost ([127.0.0.1]:49750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e02zc-0000hW-Jr for submit@debbugs.gnu.org; Thu, 05 Oct 2017 06:03:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48933) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e02zX-0000hC-AF for 28402-done@debbugs.gnu.org; Thu, 05 Oct 2017 06:02:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e02zI-0007Ib-ER for 28402-done@debbugs.gnu.org; Thu, 05 Oct 2017 06:02:50 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46146) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e02zI-0007IV-Bq; Thu, 05 Oct 2017 06:02:40 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2854 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e02zG-0001fX-QE; Thu, 05 Oct 2017 06:02:39 -0400 Date: Thu, 05 Oct 2017 13:02:27 +0300 Message-Id: <8360btykss.fsf@gnu.org> From: Eli Zaretskii To: v.schneidermann@gmail.com, larsi@gnus.org In-reply-to: <838tgy9d18.fsf@gnu.org> (message from Eli Zaretskii on Fri, 29 Sep 2017 10:31:15 +0300) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402-done Cc: 28402-done@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Fri, 29 Sep 2017 10:31:15 +0300 > From: Eli Zaretskii > Cc: larsi@gnus.org, 28402@debbugs.gnu.org > > If no objections are voiced in a few days, I will push to the emacs-26 > branch. Done. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 06:18:46 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 10:18:46 +0000 Received: from localhost ([127.0.0.1]:49782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e03Es-00017a-93 for submit@debbugs.gnu.org; Thu, 05 Oct 2017 06:18:46 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:37424) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e03Eq-00017P-Mc for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 06:18:45 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1e03Em-0004Po-6g; Thu, 05 Oct 2017 12:18:42 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> Date: Thu, 05 Oct 2017 12:18:40 +0200 In-Reply-To: <838tgy9d18.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 29 Sep 2017 10:31:15 +0300") Message-ID: <877ew9vqwv.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, Vasilij Schneidermann 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.0 (/) Eli Zaretskii writes: > If no objections are voiced in a few days, I will push to the emacs-26 > branch. Sorry; I didn't have a look at this before you applied. It mostly looks fine, but this bit isn't: (defun shr-descend (dom) - (let ((function - (intern (concat "shr-tag-" (symbol-name (dom-tag dom))) obarray)) - ;; Allow other packages to override (or provide) rendering - ;; of elements. - (external (cdr (assq (dom-tag dom) shr-external-rendering-functions))) + (let ((tag-name (dom-tag dom)) (style (dom-attr dom 'style)) (shr-stylesheet shr-stylesheet) (shr-depth (1+ shr-depth)) @@ -490,12 +498,7 @@ shr-descend (setq style nil))) ;; If we have a display:none, then just ignore this part of the DOM. (unless (equal (cdr (assq 'display shr-stylesheet)) "none") - (cond (external - (funcall external dom)) - ((fboundp function) - (funcall function dom)) - (t - (shr-generic dom))) + (shr-indirect-call tag-name dom) shr rendering of deep HTML structures uses a lot of stack, and we see this in practice sometimes, where shr refuses to render HTML because it's too deeply nested (and runs into the Emacs max-depth stack thing). This indirect call will make the stack 30% deeper, I think? As well as slower, since it's an extra funcall for each and every HTML node. So this part should be reverted. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 07:02:04 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 11:02:04 +0000 Received: from localhost ([127.0.0.1]:49803 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e03um-0002Gw-4v for submit@debbugs.gnu.org; Thu, 05 Oct 2017 07:02:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39786) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e03ui-0002GO-Qm for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 07:02:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e03uU-0003zb-5t for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 07:01:55 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46994) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e03uU-0003zU-2K; Thu, 05 Oct 2017 07:01:46 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:2883 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e03uT-0002Cj-98; Thu, 05 Oct 2017 07:01:45 -0400 Date: Thu, 05 Oct 2017 14:01:33 +0300 Message-Id: <83vajtx3hu.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-reply-to: <877ew9vqwv.fsf@mouse.gnus.org> (message from Lars Ingebrigtsen on Thu, 05 Oct 2017 12:18:40 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, v.schneidermann@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Lars Ingebrigtsen > Cc: Vasilij Schneidermann , 28402@debbugs.gnu.org > Date: Thu, 05 Oct 2017 12:18:40 +0200 > > (defun shr-descend (dom) > - (let ((function > - (intern (concat "shr-tag-" (symbol-name (dom-tag dom))) obarray)) > - ;; Allow other packages to override (or provide) rendering > - ;; of elements. > - (external (cdr (assq (dom-tag dom) shr-external-rendering-functions))) > + (let ((tag-name (dom-tag dom)) > (style (dom-attr dom 'style)) > (shr-stylesheet shr-stylesheet) > (shr-depth (1+ shr-depth)) > @@ -490,12 +498,7 @@ shr-descend > (setq style nil))) > ;; If we have a display:none, then just ignore this part of the DOM. > (unless (equal (cdr (assq 'display shr-stylesheet)) "none") > - (cond (external > - (funcall external dom)) > - ((fboundp function) > - (funcall function dom)) > - (t > - (shr-generic dom))) > + (shr-indirect-call tag-name dom) > > shr rendering of deep HTML structures uses a lot of stack, and we see > this in practice sometimes, where shr refuses to render HTML because > it's too deeply nested (and runs into the Emacs max-depth stack thing). > > This indirect call will make the stack 30% deeper, I think? As well as > slower, since it's an extra funcall for each and every HTML node. > > So this part should be reverted. Wouldn't reverting it make the entire change rather pointless? If the issue is with stack usage, we could increase the stack when shr-descend is called. As for speed, the old code had such an indirection as well, albeit via funcall, no? So I don't think I understand the nature of your objections. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 07:18:47 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 11:18:47 +0000 Received: from localhost ([127.0.0.1]:49809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e04Aw-0002gn-PV for submit@debbugs.gnu.org; Thu, 05 Oct 2017 07:18:46 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:38610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e04At-0002gb-3t for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 07:18:45 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1e04Ao-00008s-52; Thu, 05 Oct 2017 13:18:41 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> Date: Thu, 05 Oct 2017 13:18:37 +0200 In-Reply-To: <83vajtx3hu.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 05 Oct 2017 14:01:33 +0300") Message-ID: <87wp49u9ki.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, v.schneidermann@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: 0.0 (/) Eli Zaretskii writes: >> - (cond (external >> - (funcall external dom)) >> - ((fboundp function) >> - (funcall function dom)) >> - (t >> - (shr-generic dom))) >> + (shr-indirect-call tag-name dom) [...] > Wouldn't reverting it make the entire change rather pointless? No, the other calls to shr-indirect are fine, and was what was missing. > If the issue is with stack usage, we could increase the stack when > shr-descend is called. As for speed, the old code had such an > indirection as well, albeit via funcall, no? The old call calls virtually always ends up with (funcall function dom) The new code calls shr-indirect-call which will will then (funcall function dom) So one extra function call for each node. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 09:14:54 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 13:14:54 +0000 Received: from localhost ([127.0.0.1]:49881 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e05zG-0007bD-SB for submit@debbugs.gnu.org; Thu, 05 Oct 2017 09:14:54 -0400 Received: from eggs.gnu.org ([208.118.235.92]:52043) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e05zC-0007av-El for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 09:14:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e05z3-0004Uf-Db for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 09:14:41 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49289) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e05z3-0004Ua-9l; Thu, 05 Oct 2017 09:14:37 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3225 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e05z2-0004cZ-Lq; Thu, 05 Oct 2017 09:14:37 -0400 Date: Thu, 05 Oct 2017 16:14:25 +0300 Message-Id: <83shexwxce.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-reply-to: <87wp49u9ki.fsf@mouse.gnus.org> (message from Lars Ingebrigtsen on Thu, 05 Oct 2017 13:18:37 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, v.schneidermann@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Lars Ingebrigtsen > Cc: v.schneidermann@gmail.com, 28402@debbugs.gnu.org > Date: Thu, 05 Oct 2017 13:18:37 +0200 > > The old call calls virtually always ends up with > > (funcall function dom) > > The new code calls shr-indirect-call which will will then > > (funcall function dom) > > So one extra function call for each node. What if we make shr-indirect-call a defsubst? Would that take care of this issue? From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 09:22:55 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 13:22:55 +0000 Received: from localhost ([127.0.0.1]:49898 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0673-0007rF-Np for submit@debbugs.gnu.org; Thu, 05 Oct 2017 09:22:55 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:41513) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0671-0007r2-EU for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 09:22:51 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1e066x-0004T4-KV; Thu, 05 Oct 2017 15:22:49 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> <83shexwxce.fsf@gnu.org> Date: Thu, 05 Oct 2017 15:22:46 +0200 In-Reply-To: <83shexwxce.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 05 Oct 2017 16:14:25 +0300") Message-ID: <87lgkpu3tl.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, v.schneidermann@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: 0.0 (/) Eli Zaretskii writes: > What if we make shr-indirect-call a defsubst? Would that take care of > this issue? Isn't it still (at least) an extra stack frame with a bunch of variable bindings? This function is the central bit in shr, and should be as fast as possible. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 09:45:27 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 13:45:28 +0000 Received: from localhost ([127.0.0.1]:49923 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e06Sq-0008Rm-Ci for submit@debbugs.gnu.org; Thu, 05 Oct 2017 09:45:27 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e06Sl-0008RS-LQ for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 09:45:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e06Sa-0003bZ-Od for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 09:45:14 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49755) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e06Sa-0003bD-La; Thu, 05 Oct 2017 09:45:08 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3268 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e06Sa-0004Qu-3P; Thu, 05 Oct 2017 09:45:08 -0400 Date: Thu, 05 Oct 2017 16:44:57 +0300 Message-Id: <83poa1wvxi.fsf@gnu.org> From: Eli Zaretskii To: Lars Ingebrigtsen In-reply-to: <87lgkpu3tl.fsf@mouse.gnus.org> (message from Lars Ingebrigtsen on Thu, 05 Oct 2017 15:22:46 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> <83shexwxce.fsf@gnu.org> <87lgkpu3tl.fsf@mouse.gnus.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, v.schneidermann@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > From: Lars Ingebrigtsen > Cc: v.schneidermann@gmail.com, 28402@debbugs.gnu.org > Date: Thu, 05 Oct 2017 15:22:46 +0200 > > Eli Zaretskii writes: > > > What if we make shr-indirect-call a defsubst? Would that take care of > > this issue? > > Isn't it still (at least) an extra stack frame with a bunch of variable > bindings? Yes, but is that really that significant? You sound like saying that any non-trivial change in shr-descend should be rejected for these reasons. Is that really so? Do we have measurements that would back up such extreme care? > This function is the central bit in shr, and should be as fast as > possible. As fast as possible, but not faster, I presume ;-) Anyway, I see your point. Vasilij, any thoughts or suggestions to avoid reverting that part, while still keeping Lars happy? From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 09:52:43 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 13:52:43 +0000 Received: from localhost ([127.0.0.1]:49938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e06Zv-0000C6-EX for submit@debbugs.gnu.org; Thu, 05 Oct 2017 09:52:43 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:42235) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e06Zt-0000By-D3 for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 09:52:41 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1e06Zb-0002uD-Ds; Thu, 05 Oct 2017 15:52:40 +0200 From: Lars Ingebrigtsen To: Eli Zaretskii Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83poaxrzl1.fsf@gnu.org> <20170913172232.7jwwomyfmy567nrx@odonien.localdomain> <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> <83shexwxce.fsf@gnu.org> <87lgkpu3tl.fsf@mouse.gnus.org> <83poa1wvxi.fsf@gnu.org> Date: Thu, 05 Oct 2017 15:52:23 +0200 In-Reply-To: <83poa1wvxi.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 05 Oct 2017 16:44:57 +0300") Message-ID: <87d161u2g8.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: 28402@debbugs.gnu.org, v.schneidermann@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: 0.0 (/) Eli Zaretskii writes: > Yes, but is that really that significant? You sound like saying that > any non-trivial change in shr-descend should be rejected for these > reasons. Is that really so? Do we have measurements that would back > up such extreme care? No, I'm just saying that any additional features added to that function should be considered carefully (to see whether that added feature is worth the performance degradation). And I don't think we should do anything to "pretty it up" just because, if that has any performance impact at all. In a thing like shr, it's really the case of a death by a thousand cuts: Each single improvement adds a slight performance hit, and then after a couple of years you end up with something that's pretty, but completely unusable. (It's already too slow as it is.) So I protect `shr-descend' fiercely. :-) (But late, as always... Sorry for not saying this before you applied the patch; it would have been less work for all of us.) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 16:08:18 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 20:08:18 +0000 Received: from localhost ([127.0.0.1]:51813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0CRO-0003yq-0i for submit@debbugs.gnu.org; Thu, 05 Oct 2017 16:08:18 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:37244) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0CRM-0003yc-4V for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 16:08:16 -0400 Received: by mail-wm0-f67.google.com with SMTP id k66so5647821wmd.4 for <28402@debbugs.gnu.org>; Thu, 05 Oct 2017 13:08:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=Kap/BqSbNfgp+UnODvzjy9qOSmcYkjCGhK39LcmqCuM=; b=R0v2CxWsMfrTJzMR3Jm7qT05TC5KXr6r1ILAZkBjAsxWNEPTMs9e7sWJYm4ljVrLqa 5oGdtEaJPkjfuZ1CVA4XkK80TqbvwfNph+eAD4FJtd8jCE8D5v7A6U891KsIut7RYIJm htVkrDDo3YHYVBja+Pw251CkL2ZWk5p2JlaUXtyJ6G8D9TB7n9WM5IwydITEFCdxoBsp d54ThHpSENp8D0ewYP6uLSNa9fe+Ei+PDh2BJqw3R9HWXQ7PcfuWuf0+V4qKsKjAqfXC 87PuXtXGKlxVP3G1ip4fKFTv/LDMuclCg52jFBz/JJhnY3F17OAp40u94i5sKmYNYSa+ Wxdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=Kap/BqSbNfgp+UnODvzjy9qOSmcYkjCGhK39LcmqCuM=; b=aIYHM99LStPNn2IGFE18gFNJeEJvPPepEQ5ue/sH+8Wejt2eSogQLl8bN9QQTAwjo3 UTCFXCVa4wjzoFjTUl7V92WT6/Yuzrv0gfalJTIMz8BxCcSC1d8xpWKTe3elodQXLJE+ 831KXYHXDcyUI09Zqy3dVrPaDBD/y+EFQpys3JKESskhXHfMKVm//pdscj/reNPS8kh4 ZnXeTlkMomCxoJWM/YYpkiBTUdtAjmO9RWzig1qyODAhNtVRnceSIXmRiY8BzMc4lQ3z Dr123GmuVZjbQqNy3h73Fp0nUOiecmTS2yOighLHpjHKotwpwRsN0Fljti5xfDVDfmYZ h0qQ== X-Gm-Message-State: AMCzsaVG/pPFWrqU6pg/TZ6SqbZUQehnyJ2U1zPObblMzo611gy8FVCE bjLCnNDDRP2WZLOd6MK1vRU= X-Google-Smtp-Source: AOwi7QClazlCYauNCaeH++G+fWQm+bfqdkyw978GdrqkZnipIeoXtw6GRsGgjKj7EGyA+MUl95V08w== X-Received: by 10.80.224.193 with SMTP id j1mr306665edl.216.1507234090280; Thu, 05 Oct 2017 13:08:10 -0700 (PDT) Received: from localhost (dslb-092-072-005-245.092.072.pools.vodafone-ip.de. [92.72.5.245]) by smtp.gmail.com with ESMTPSA id q6sm93391edk.55.2017.10.05.13.08.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 05 Oct 2017 13:08:09 -0700 (PDT) Date: Thu, 5 Oct 2017 22:08:07 +0200 From: Vasilij Schneidermann To: Lars Ingebrigtsen Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions Message-ID: <20171005200807.ysmclhv5cxuwsnap@odonien.localdomain> References: <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> <83shexwxce.fsf@gnu.org> <87lgkpu3tl.fsf@mouse.gnus.org> <83poa1wvxi.fsf@gnu.org> <87d161u2g8.fsf@mouse.gnus.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <87d161u2g8.fsf@mouse.gnus.org> User-Agent: NeoMutt/20170714-155-820ab5 (1.8.3) X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 28402 Cc: Eli Zaretskii , 28402@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: 0.5 (/) > In a thing like shr, it's really the case of a death by a thousand cuts: > Each single improvement adds a slight performance hit, and then after a > couple of years you end up with something that's pretty, but completely > unusable. (It's already too slow as it is.) So I protect `shr-descend' > fiercely. :-) How deeply nested does typical HTML get anyways? I recall an exemplary comment from an article on browser rendering that pointed out that they bail out on degenerate cases, so perhaps it's better to add that to shr rather than hoping you never hit the stack limit by following a conservative coding style. Regarding speed, I only notice it being an issue for documents with tables, everything else is fine. > (But late, as always... Sorry for not saying this before you applied > the patch; it would have been less work for all of us.) I can imagine other variations of defsubst (such as defmacro and define-inline), but it would indeed be the easiest to roll back that part of the code. What I'd additionally do is adding a comment explaining why there's two very similar snippets of code doing the same thing, otherwise the next person proposing a patch will change only one of them and be left head-scratching why it doesn't quite work. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 05 16:11:03 2017 Received: (at 28402) by debbugs.gnu.org; 5 Oct 2017 20:11:03 +0000 Received: from localhost ([127.0.0.1]:51817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0CU3-00043c-GE for submit@debbugs.gnu.org; Thu, 05 Oct 2017 16:11:03 -0400 Received: from hermes.netfonds.no ([80.91.224.195]:60461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0CU1-000438-PJ for 28402@debbugs.gnu.org; Thu, 05 Oct 2017 16:11:02 -0400 Received: from cm-84.209.243.26.getinternet.no ([84.209.243.26] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1e0CTs-0006jQ-UX; Thu, 05 Oct 2017 22:10:54 +0200 From: Lars Ingebrigtsen To: Vasilij Schneidermann Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> <83shexwxce.fsf@gnu.org> <87lgkpu3tl.fsf@mouse.gnus.org> <83poa1wvxi.fsf@gnu.org> <87d161u2g8.fsf@mouse.gnus.org> <20171005200807.ysmclhv5cxuwsnap@odonien.localdomain> Date: Thu, 05 Oct 2017 22:10:52 +0200 In-Reply-To: <20171005200807.ysmclhv5cxuwsnap@odonien.localdomain> (Vasilij Schneidermann's message of "Thu, 5 Oct 2017 22:08:07 +0200") Message-ID: <87k209we2b.fsf@mouse.gnus.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 28402 Cc: Eli Zaretskii , 28402@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: 0.0 (/) Vasilij Schneidermann writes: > How deeply nested does typical HTML get anyways? Very. > I recall an exemplary comment from an article on browser rendering > that pointed out that they bail out on degenerate cases, so perhaps > it's better to add that to shr rather than hoping you never hit the > stack limit by following a conservative coding style. shr does check and bail. Search for max-specpdl-size in shr.el. > What I'd additionally do is adding a comment explaining why there's > two very similar snippets of code doing the same thing, otherwise the > next person proposing a patch will change only one of them and be left > head-scratching why it doesn't quite work. Sure; please submit a patch to do so. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 06 08:44:09 2017 Received: (at 28402) by debbugs.gnu.org; 6 Oct 2017 12:44:09 +0000 Received: from localhost ([127.0.0.1]:52391 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0Rz7-0007rL-22 for submit@debbugs.gnu.org; Fri, 06 Oct 2017 08:44:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59046) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e0Rz6-0007r7-0I for 28402@debbugs.gnu.org; Fri, 06 Oct 2017 08:44:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e0Ryw-0003et-Uo for 28402@debbugs.gnu.org; Fri, 06 Oct 2017 08:44:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53104) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e0Ryw-0003eo-Qp; Fri, 06 Oct 2017 08:43:58 -0400 Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4744 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e0Ryw-00057T-4Z; Fri, 06 Oct 2017 08:43:58 -0400 Date: Fri, 06 Oct 2017 15:43:49 +0300 Message-Id: <83k208v43e.fsf@gnu.org> From: Eli Zaretskii To: Vasilij Schneidermann In-reply-to: <20171005200807.ysmclhv5cxuwsnap@odonien.localdomain> (message from Vasilij Schneidermann on Thu, 5 Oct 2017 22:08:07 +0200) Subject: Re: bug#28402: 25.2; shr.el uses shr-tag-img despite set shr-external-rendering-functions References: <83lglio36q.fsf@gnu.org> <20170924131050.6erv6sshvz23dlbu@odonien.localdomain> <838tgy9d18.fsf@gnu.org> <877ew9vqwv.fsf@mouse.gnus.org> <83vajtx3hu.fsf@gnu.org> <87wp49u9ki.fsf@mouse.gnus.org> <83shexwxce.fsf@gnu.org> <87lgkpu3tl.fsf@mouse.gnus.org> <83poa1wvxi.fsf@gnu.org> <87d161u2g8.fsf@mouse.gnus.org> <20171005200807.ysmclhv5cxuwsnap@odonien.localdomain> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28402 Cc: larsi@gnus.org, 28402@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: , Reply-To: Eli Zaretskii Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) > Date: Thu, 5 Oct 2017 22:08:07 +0200 > From: Vasilij Schneidermann > Cc: Eli Zaretskii , 28402@debbugs.gnu.org > > I can imagine other variations of defsubst (such as defmacro and > define-inline), but it would indeed be the easiest to roll back that > part of the code. What I'd additionally do is adding a comment > explaining why there's two very similar snippets of code doing the same > thing, otherwise the next person proposing a patch will change only one > of them and be left head-scratching why it doesn't quite work. Thanks, done. From unknown Wed Jun 25 02:08:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 04 Nov 2017 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