From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Alex =?UTF-8?Q?Benn=C3=A9e?= Newsgroups: gmane.emacs.bugs Subject: bug#23917: [O] bug#23917: Please consider making Bug #23917 a blocker for 25.1 (was Re: org-capture: Capture template =?UTF-8?Q?=E2=80=98g=E2=80=99:?= Match data clobbered by buffer modification hooks) Date: Tue, 19 Jul 2016 18:45:44 +0100 Message-ID: <878twxmshj.fsf@linaro.org> References: <87vb066ejv.fsf@linaro.org> <8360s67qcp.fsf@gnu.org> <87bn1yyaui.fsf@linaro.org> <87mvlhmv0x.fsf_-_@moondust.awandering> <837fcl5zs9.fsf@gnu.org> <87a8hgkwcb.fsf@linaro.org> <8360s42mcb.fsf@gnu.org> <87eg6rgmlg.fsf@gmail.com> <83lh0y24y6.fsf@gnu.org> <83eg6q1hbo.fsf@gnu.org> <83a8hd1vzi.fsf@gnu.org> <834m7l1u8u.fsf@gnu.org> <87a8hdmuce.fsf@linaro.org> <8337n51r4f.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1468950916 11431 80.91.229.3 (19 Jul 2016 17:55:16 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 19 Jul 2016 17:55:16 +0000 (UTC) Cc: nljlistbox2@gmail.com, jwiegley@gmail.com, rpluim@gmail.com, me@lunaryorn.com, 23917@debbugs.gnu.org, monnier@iro.umontreal.ca To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Jul 19 19:55:05 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1bPZEV-0005Bm-Od for geb-bug-gnu-emacs@m.gmane.org; Tue, 19 Jul 2016 19:55:04 +0200 Original-Received: from localhost ([::1]:57641 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPZEV-0001YO-2V for geb-bug-gnu-emacs@m.gmane.org; Tue, 19 Jul 2016 13:55:03 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59476) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPZ5q-0002P3-Ds for bug-gnu-emacs@gnu.org; Tue, 19 Jul 2016 13:46:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPZ5m-0008Lm-7q for bug-gnu-emacs@gnu.org; Tue, 19 Jul 2016 13:46:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:45209) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPZ5m-0008Li-3k; Tue, 19 Jul 2016 13:46:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1bPZ5l-0006eU-SC; Tue, 19 Jul 2016 13:46:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Alex =?UTF-8?Q?Benn=C3=A9e?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org, emacs-orgmode@gnu.org Resent-Date: Tue, 19 Jul 2016 17:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 23917 X-GNU-PR-Package: emacs,org-mode X-GNU-PR-Keywords: Original-Received: via spool by 23917-submit@debbugs.gnu.org id=B23917.146895035325554 (code B ref 23917); Tue, 19 Jul 2016 17:46:01 +0000 Original-Received: (at 23917) by debbugs.gnu.org; 19 Jul 2016 17:45:53 +0000 Original-Received: from localhost ([127.0.0.1]:57546 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bPZ5c-0006e6-V5 for submit@debbugs.gnu.org; Tue, 19 Jul 2016 13:45:53 -0400 Original-Received: from mail-wm0-f49.google.com ([74.125.82.49]:38800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bPZ5a-0006dr-0H for 23917@debbugs.gnu.org; Tue, 19 Jul 2016 13:45:52 -0400 Original-Received: by mail-wm0-f49.google.com with SMTP id o80so35679299wme.1 for <23917@debbugs.gnu.org>; Tue, 19 Jul 2016 10:45:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=GrBePFiVsjUnA/Q0w6gKOB/1IDk0Gkeeua1SPauvabM=; b=O97lDgQruRjoYhz/hCjmCEIE3YhbX3TsGqbi9hHx24UKLNkA4USdKQDrYReF8G34Yg 7bnkxd7W2lW04V6obPbGMJwbuLo56GGPbrX7YUQWJKwOZUOHxaSmptYDHHeoaQCsiR+N X9ZBGEzd6MZqbC4YFOTVCCB7TNqj7ilESqgT4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=GrBePFiVsjUnA/Q0w6gKOB/1IDk0Gkeeua1SPauvabM=; b=FSUHIAI2fCDG4n57Bz3sAHAPjn1PbYheSCe23/wv9eB6UcZHdyHfhBznb67TmYXoUq iGJ/QW1c4gjuFGqNkrDWNzNERHvkWVuLt2G6oZbvoHWPcI4HMnF6VRG7VDixL3QzlKSE J0YlQtnWW4rjRDGfBb/wD5AZ8YZ1yqU+a0IGwUBwS4NOXKXfP6rT0mqTnTY/IH7qEYB/ Hqq71AjN9S7kv5onPc0ROH8jbWyX72HGYb9drP1yIiFZh4OLw9Ut9Nb0QS1QyVXuFe0B nq3H+h1qpT3ak62asKXQQ+vY2NFt7CWrcnQjeBoBRBGJ+TyxpG8ym3XJQ5dv9HnrcM4d lRWg== X-Gm-Message-State: ALyK8tIe8URHBdTiGSA9dx1hde0CB0b49cFnRkS8HLaVyRapTdVwGNZXVAlc9s9vRssZ9Hpv X-Received: by 10.28.55.197 with SMTP id e188mr6092971wma.32.1468950344179; Tue, 19 Jul 2016 10:45:44 -0700 (PDT) Original-Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id i80sm8501029wmf.11.2016.07.19.10.45.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Jul 2016 10:45:42 -0700 (PDT) Original-Received: from zen (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTPS id D350B3E0404; Tue, 19 Jul 2016 18:45:44 +0100 (BST) User-agent: mu4e 0.9.17; emacs 25.0.95.10 In-reply-to: <8337n51r4f.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:121271 Archived-At: Eli Zaretskii writes: >> From: Alex Bennée >> Cc: Stefan Monnier , 23917@debbugs.gnu.org, rpluim@gmail.com, jwiegley@gmail.com, nljlistbox2@gmail.com >> Date: Tue, 19 Jul 2016 18:05:37 +0100 >> >> > Do we care that using save-match-data in every call to replace-match >> > might mean a performance hit? If it will, then this will again punish >> > most of the users for the benefit of those few who (1) have >> > buffer-modification hooks, and (2) those hooks call save-match-data. >> >> I care unless there is an easy way to identify which buffer modification >> hooks are responsible so I can take steps as a user to mitigate the >> problems. > > Any hook in before-change-functions or after-change-functions that > calls save-match-data. > > If we care about the performance hit, we need to come up with a > different solution for this problem (or measure the performance hit > and convince ourselves it is not a big deal). Thanks for the hint. So in my case it was flycheck-handle-change which was triggering the problem: (defun flycheck-handle-change (beg end _len) "Handle a buffer change between BEG and END. BEG and END mark the beginning and end of the change text. _LEN is ignored. Start a syntax check if a new line has been inserted into the buffer." ;; Save and restore the match data, as recommended in (elisp)Change Hooks (save-match-data (when flycheck-mode ;; The buffer was changed, thus clear the idle timer (flycheck-clear-idle-change-timer) (if (string-match-p (rx "\n") (buffer-substring beg end)) (flycheck-buffer-automatically 'new-line 'force-deferred) (setq flycheck-idle-change-timer (run-at-time flycheck-idle-change-delay nil #'flycheck-handle-idle-change)))))) However it doesn't look as though it tweaks the buffer until idle timer has run. Weird.... -- Alex Bennée