From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Micha=C5=82?= Kondraciuk Newsgroups: gmane.emacs.bugs Subject: bug#32278: 27.0.50; replace-buffer-contents calls change functions with wrong arguments Date: Fri, 27 Jul 2018 13:24:30 +0200 Message-ID: <1ef81ec1-855d-50fe-e96f-4b3059b6dba6@zoho.com> References: <96205085-151d-5021-d0bc-44b22df363cf@zoho.com> <83in51ro16.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1532690649 16283 195.159.176.226 (27 Jul 2018 11:24:09 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 27 Jul 2018 11:24:09 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 Cc: 32278@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jul 27 13:24:05 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fj0qq-00047t-S0 for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 Jul 2018 13:24:04 +0200 Original-Received: from localhost ([::1]:40536 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fj0sx-00021e-NK for geb-bug-gnu-emacs@m.gmane.org; Fri, 27 Jul 2018 07:26:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49137) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fj0sn-00020F-4C for bug-gnu-emacs@gnu.org; Fri, 27 Jul 2018 07:26:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fj0sj-0001h4-Uv for bug-gnu-emacs@gnu.org; Fri, 27 Jul 2018 07:26:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:54634) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fj0sj-0001fy-QP for bug-gnu-emacs@gnu.org; Fri, 27 Jul 2018 07:26:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fj0sj-0000PI-JJ for bug-gnu-emacs@gnu.org; Fri, 27 Jul 2018 07:26:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Micha=C5=82?= Kondraciuk Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Jul 2018 11:26:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 32278 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 32278-submit@debbugs.gnu.org id=B32278.15326907051488 (code B ref 32278); Fri, 27 Jul 2018 11:26:01 +0000 Original-Received: (at 32278) by debbugs.gnu.org; 27 Jul 2018 11:25:05 +0000 Original-Received: from localhost ([127.0.0.1]:59651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fj0ro-0000Nv-RD for submit@debbugs.gnu.org; Fri, 27 Jul 2018 07:25:05 -0400 Original-Received: from sender-pp-092.zoho.com ([135.84.80.237]:25308) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fj0rm-0000NM-CC for 32278@debbugs.gnu.org; Fri, 27 Jul 2018 07:25:02 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=zapps768; d=zoho.com; h=subject:to:cc:references:from:message-id:date:user-agent:mime-version:in-reply-to:content-type; b=Rocny5DhaBnWCrIffa2Lv5WakclQbzjkCh9uOQE8msMcfTb/MOsG+HEmnFpuiZ01CQLRQSkHrJ+j emr5SjqR2UXriIArTrxbz9xwKTR8iNlRjqVYIkxtWkJu45MxZM96 Original-Received: from [192.168.0.87] (84-10-171-192.static.chello.pl [84.10.171.192]) by mx.zohomail.com with SMTPS id 1532690675853797.294481800686; Fri, 27 Jul 2018 04:24:35 -0700 (PDT) In-Reply-To: <83in51ro16.fsf@gnu.org> Content-Language: en-US X-ZohoMailClient: External 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:149009 Archived-At: On 07/27/2018 12:06 PM, Eli Zaretskii wrote: > Thanks. I just threw away the attempt to be smarter about where the > changes are done, and went back to the original code that announces > changes in the entire region. > > If anyone wants to add smarter code, they should do this on master. Thanks. Can you tell me if the workaround below (calling change functions manually) is correct/safe for emacs versions where this is not fixed? It's a function that non-destructively replaces region contents. (defun my-replace-region (beg end text) "Replace region BEG END with TEXT. As far as possible the replacement is non-destructive." (let ((source (current-buffer))) (with-temp-buffer (insert text) (let ((replacement (current-buffer))) (with-current-buffer source (save-restriction (widen) (narrow-to-region beg end) (let ((inhibit-modification-hooks t)) (run-hook-with-args 'before-change-functions beg end) (replace-buffer-contents replacement) (run-hook-with-args 'after-change-functions beg (+ beg (length text)) (- end beg)))))))))