From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 16 07:47:27 2017 Received: (at submit) by debbugs.gnu.org; 16 Dec 2017 12:47:27 +0000 Received: from localhost ([127.0.0.1]:36489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQBsE-0006Lh-Sl for submit@debbugs.gnu.org; Sat, 16 Dec 2017 07:47:27 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQBsD-0006LU-Ar for submit@debbugs.gnu.org; Sat, 16 Dec 2017 07:47:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQBs6-0001t2-QL for submit@debbugs.gnu.org; Sat, 16 Dec 2017 07:47:20 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:60715) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eQBs6-0001sn-NU for submit@debbugs.gnu.org; Sat, 16 Dec 2017 07:47:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39261) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQBs5-0003fK-Ed for bug-gnu-emacs@gnu.org; Sat, 16 Dec 2017 07:47:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQBs0-0001pW-Fw for bug-gnu-emacs@gnu.org; Sat, 16 Dec 2017 07:47:17 -0500 Received: from mail.parknet.co.jp ([210.171.160.6]:35267) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQBrz-0001p1-Ts for bug-gnu-emacs@gnu.org; Sat, 16 Dec 2017 07:47:12 -0500 Received: from ibmpc.myhome.or.jp (server.parknet.ne.jp [210.171.168.39]) by mail.parknet.co.jp (Postfix) with ESMTP id 81FBC1E0018 for ; Sat, 16 Dec 2017 21:47:09 +0900 (JST) Received: from devron.myhome.or.jp (root@devron.myhome.or.jp [192.168.0.3]) by ibmpc.myhome.or.jp (8.15.2/8.15.2/Debian-9) with ESMTPS id vBGCl8Ap012687 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 16 Dec 2017 21:47:09 +0900 Received: from devron.myhome.or.jp (hirofumi@localhost [127.0.0.1]) by devron.myhome.or.jp (8.15.2/8.15.2/Debian-9) with ESMTPS id vBGCl8OB022557 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 16 Dec 2017 21:47:08 +0900 Received: (from hirofumi@localhost) by devron.myhome.or.jp (8.15.2/8.15.2/Submit) id vBGCl79D022556; Sat, 16 Dec 2017 21:47:07 +0900 From: OGAWA Hirofumi To: bug-gnu-emacs@gnu.org Subject: 27.0.50; shr-insert-document modify point of buffer in corner case Date: Sat, 16 Dec 2017 21:47:07 +0900 Message-ID: <87shca7sc4.fsf@mail.parknet.co.jp> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) 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: -5.0 (-----) Hi, The following is the reproduce code of issue, (let ((buf (get-buffer-create "test-case"))) (display-buffer buf) (with-current-buffer buf (erase-buffer) (insert "1\n") (shr-insert-document '(html nil (body nil (a ((href . "http://example.org")) "example")))) (insert "\n") (insert "2\n"))) and expected result is 1 example 2 But actual result is example 2 1 Like above example, `shr-insert-document' modify the point of "test-case" buffer. (display-buffer is important to reproduce. If commented out display-buffer line, the issue disappear.) With some debugging I noticed, the usage of `with-temp-buffer' of `shr-string-pixel-width' modify the point. Simplified version of `shr-string-pixel-width' to reproduce the issue is the following, (with-temp-buffer (save-window-excursion (set-window-buffer nil (current-buffer)))) In this conbination, `with-temp-buffer' seems to fail to restore the point. So the patch seems to save and restore the point correctly. Thanks. --- lisp/net/shr.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff -puN lisp/net/shr.el~shr-fix-point-modification lisp/net/shr.el --- emacs/lisp/net/shr.el~shr-fix-point-modification 2017-12-16 07:32:47.777230050 +0900 +++ emacs-hirofumi/lisp/net/shr.el 2017-12-16 07:35:48.083847035 +0900 @@ -591,9 +591,10 @@ size, and full-buffer size." (defun shr-string-pixel-width (string) (if (not shr-use-fonts) (length string) - (with-temp-buffer - (insert string) - (shr-pixel-column)))) + (save-excursion + (with-temp-buffer + (insert string) + (shr-pixel-column))))) (defsubst shr--translate-insertion-chars () ;; Remove soft hyphens. _ In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.24) of 2017-12-12 built on devron Repository revision: 786907238bcb86ab9e0e2e9ebcc91c52a6eb024c Windowing system distributor 'The X.Org Foundation', version 11.0.11905000 System Description: Debian GNU/Linux testing (buster) Configured using: 'configure --libexecdir=/usr/local/lib --with-x --with-x-toolkit=gtk3 --without-xim --with-xpm --with-jpeg --with-tiff --with-gif --with-png --with-rsvg --with-dbus --with-wide-int --with-modules' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES JSON LCMS2 Important settings: value of $LANG: ja_JP.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix -- OGAWA Hirofumi From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 16 09:12:38 2017 Received: (at 29734) by debbugs.gnu.org; 16 Dec 2017 14:12:38 +0000 Received: from localhost ([127.0.0.1]:36520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQDCe-0008HR-JR for submit@debbugs.gnu.org; Sat, 16 Dec 2017 09:12:38 -0500 Received: from eggs.gnu.org ([208.118.235.92]:36243) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQDCd-0008HF-0R for 29734@debbugs.gnu.org; Sat, 16 Dec 2017 09:12:35 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQDCT-0001pj-1H for 29734@debbugs.gnu.org; Sat, 16 Dec 2017 09:12:29 -0500 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,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:33867) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQDCS-0001pf-Tb; Sat, 16 Dec 2017 09:12:24 -0500 Received: from [176.228.60.248] (port=3444 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eQDCS-0005Mo-A3; Sat, 16 Dec 2017 09:12:24 -0500 Date: Sat, 16 Dec 2017 16:12:26 +0200 Message-Id: <83h8sqsqwl.fsf@gnu.org> From: Eli Zaretskii To: OGAWA Hirofumi In-reply-to: <87shca7sc4.fsf@mail.parknet.co.jp> (message from OGAWA Hirofumi on Sat, 16 Dec 2017 21:47:07 +0900) Subject: Re: bug#29734: 27.0.50; shr-insert-document modify point of buffer in corner case References: <87shca7sc4.fsf@mail.parknet.co.jp> 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: 29734 Cc: 29734@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: OGAWA Hirofumi > Date: Sat, 16 Dec 2017 21:47:07 +0900 > > (let ((buf (get-buffer-create "test-case"))) > (display-buffer buf) > (with-current-buffer buf > (erase-buffer) > (insert "1\n") > (shr-insert-document > '(html nil (body nil (a ((href . "http://example.org")) "example")))) > (insert "\n") > (insert "2\n"))) > > and expected result is > > 1 > example > 2 > > But actual result is > > example > 2 > 1 > > Like above example, `shr-insert-document' modify the point > of "test-case" buffer. (display-buffer is important to > reproduce. If commented out display-buffer line, the issue > disappear.) > > With some debugging I noticed, the usage of `with-temp-buffer' of > `shr-string-pixel-width' modify the point. Simplified version of > `shr-string-pixel-width' to reproduce the issue is the following, > > (with-temp-buffer > (save-window-excursion > (set-window-buffer nil (current-buffer)))) > > In this conbination, `with-temp-buffer' seems to fail to restore > the point. > > So the patch seems to save and restore the point correctly. Thanks. I think save-excursion is too heavy in this case, so I installed a change to only preserve point. Please try the recent emacs-26 branch, it should now be fixed there. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 16 11:59:59 2017 Received: (at 29734) by debbugs.gnu.org; 16 Dec 2017 16:59:59 +0000 Received: from localhost ([127.0.0.1]:37567 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQFod-0005rV-2L for submit@debbugs.gnu.org; Sat, 16 Dec 2017 11:59:59 -0500 Received: from mail.parknet.co.jp ([210.171.160.6]:59274) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQFoa-0005rK-Px for 29734@debbugs.gnu.org; Sat, 16 Dec 2017 11:59:57 -0500 Received: from ibmpc.myhome.or.jp (server.parknet.ne.jp [210.171.168.39]) by mail.parknet.co.jp (Postfix) with ESMTP id B07B01E0018; Sun, 17 Dec 2017 01:59:52 +0900 (JST) Received: from devron.myhome.or.jp (root@devron.myhome.or.jp [192.168.0.3]) by ibmpc.myhome.or.jp (8.15.2/8.15.2/Debian-9) with ESMTPS id vBGGxp2I014644 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 17 Dec 2017 01:59:52 +0900 Received: from devron.myhome.or.jp (hirofumi@localhost [127.0.0.1]) by devron.myhome.or.jp (8.15.2/8.15.2/Debian-9) with ESMTPS id vBGGxp73002335 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 17 Dec 2017 01:59:51 +0900 Received: (from hirofumi@localhost) by devron.myhome.or.jp (8.15.2/8.15.2/Submit) id vBGGxoGH001956; Sun, 17 Dec 2017 01:59:50 +0900 From: OGAWA Hirofumi To: Eli Zaretskii Subject: Re: bug#29734: 27.0.50; shr-insert-document modify point of buffer in corner case References: <87shca7sc4.fsf@mail.parknet.co.jp> <83h8sqsqwl.fsf@gnu.org> Date: Sun, 17 Dec 2017 01:59:50 +0900 In-Reply-To: <83h8sqsqwl.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 16 Dec 2017 16:12:26 +0200") Message-ID: <87k1xm7gmx.fsf@mail.parknet.co.jp> 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.7 (/) X-Debbugs-Envelope-To: 29734 Cc: 29734@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.7 (/) Eli Zaretskii writes: > I think save-excursion is too heavy in this case, so I installed a > change to only preserve point. > > Please try the recent emacs-26 branch, it should now be fixed there. Thanks. It works for me. -- OGAWA Hirofumi From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 16 12:19:04 2017 Received: (at 29734-done) by debbugs.gnu.org; 16 Dec 2017 17:19:04 +0000 Received: from localhost ([127.0.0.1]:37577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQG75-0006JK-US for submit@debbugs.gnu.org; Sat, 16 Dec 2017 12:19:04 -0500 Received: from eggs.gnu.org ([208.118.235.92]:49782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQG74-0006Ir-QM for 29734-done@debbugs.gnu.org; Sat, 16 Dec 2017 12:19:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eQG6w-0008Ai-AA for 29734-done@debbugs.gnu.org; Sat, 16 Dec 2017 12:18:57 -0500 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,T_RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:36412) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eQG6w-0008AV-61; Sat, 16 Dec 2017 12:18:54 -0500 Received: from [176.228.60.248] (port=3569 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1eQG6u-0006q6-F2; Sat, 16 Dec 2017 12:18:53 -0500 Date: Sat, 16 Dec 2017 19:18:48 +0200 Message-Id: <83zi6ir3pj.fsf@gnu.org> From: Eli Zaretskii To: OGAWA Hirofumi In-reply-to: <87k1xm7gmx.fsf@mail.parknet.co.jp> (message from OGAWA Hirofumi on Sun, 17 Dec 2017 01:59:50 +0900) Subject: Re: bug#29734: 27.0.50; shr-insert-document modify point of buffer in corner case References: <87shca7sc4.fsf@mail.parknet.co.jp> <83h8sqsqwl.fsf@gnu.org> <87k1xm7gmx.fsf@mail.parknet.co.jp> 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: 29734-done Cc: 29734-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 (-----) > From: OGAWA Hirofumi > Cc: 29734@debbugs.gnu.org > Date: Sun, 17 Dec 2017 01:59:50 +0900 > > Eli Zaretskii writes: > > > I think save-excursion is too heavy in this case, so I installed a > > change to only preserve point. > > > > Please try the recent emacs-26 branch, it should now be fixed there. > > Thanks. It works for me. Thanks for testing, closing. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 17 21:54:11 2017 Received: (at 29734) by debbugs.gnu.org; 18 Dec 2017 02:54:11 +0000 Received: from localhost ([127.0.0.1]:39515 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQlZB-0005lW-R4 for submit@debbugs.gnu.org; Sun, 17 Dec 2017 21:54:11 -0500 Received: from mail-hampton.hostforweb.net ([205.234.186.191]:38874 helo=hampton.hostforweb.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQlZ9-0005lI-SK for 29734@debbugs.gnu.org; Sun, 17 Dec 2017 21:54:08 -0500 Received: from s70.gtokyofl21.vectant.ne.jp ([202.215.75.70]:60000 helo=localhost) by hampton.hostforweb.net with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.89) (envelope-from ) id 1eQlZ1-002ruT-Dc; Sun, 17 Dec 2017 20:54:00 -0600 Date: Mon, 18 Dec 2017 11:53:57 +0900 Message-ID: From: Katsumi Yamaoka To: eliz@gnu.org Subject: Re: bug#29734: 27.0.50; shr-insert-document modify point of buffer in corner case References: <87shca7sc4.fsf@mail.parknet.co.jp> <83h8sqsqwl.fsf@gnu.org> <87k1xm7gmx.fsf@mail.parknet.co.jp> <83zi6ir3pj.fsf@gnu.org> Organization: Emacsen advocacy group X-Face: #kKnN,xUnmKia.'[pp`; Omh}odZK)?7wQSl"4o04=EixTF+V[""w~iNbM9ZL+.b*_CxUmFk B#Fu[*?MZZH@IkN:!"\w%I_zt>[$nm7nQosZ<3eu; B:$Q_:p!',P.c0-_Cy[dz4oIpw0ESA^D*1Lw= L&i*6&( User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (i686-pc-cygwin) Cancel-Lock: sha1:zZn8R1ea4+ohCRsl0nQyW6Y5noA= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-OutGoing-Spam-Status: No, score=-1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - hampton.hostforweb.net X-AntiAbuse: Original Domain - debbugs.gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - jpl.org X-Get-Message-Sender-Via: hampton.hostforweb.net: authenticated_id: yamaoka/from_h X-Authenticated-Sender: hampton.hostforweb.net: yamaoka@jpl.org X-Source: X-Source-Args: X-Source-Dir: X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29734 Cc: 29734@debbugs.gnu.org, hirofumi@mail.parknet.co.jp 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.7 (/) On Sat, 16 Dec 2017 19:18:48 +0200, Eli Zaretskii wrote: > Thanks for testing, closing. The function `shr-string-pixel-width' should return pixel-width, not a position. Fixed in emacs-26. From unknown Sat Sep 13 12:47:42 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 15 Jan 2018 12:24:05 +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