From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#66181: Subject: 29.1; Occur changes don't affect Dired buffer Date: Mon, 25 Sep 2023 11:42:28 +0300 Message-ID: <837coe3aq3.fsf@gnu.org> References: <83bkdq3e42.fsf@gnu.org> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29398"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 66181@debbugs.gnu.org To: kediez@gmail.com, Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Sep 25 10:44:00 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qkhCC-0007Vm-OR for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 25 Sep 2023 10:44:00 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qkhC6-0005YU-7Q; Mon, 25 Sep 2023 04:43:54 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkhC3-0005WA-EU for bug-gnu-emacs@gnu.org; Mon, 25 Sep 2023 04:43:51 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qkhC1-0008Ix-K7 for bug-gnu-emacs@gnu.org; Mon, 25 Sep 2023 04:43:51 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qkhCD-0007J1-S1 for bug-gnu-emacs@gnu.org; Mon, 25 Sep 2023 04:44:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 25 Sep 2023 08:44:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66181 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: confirmed Original-Received: via spool by 66181-submit@debbugs.gnu.org id=B66181.169563140028022 (code B ref 66181); Mon, 25 Sep 2023 08:44:01 +0000 Original-Received: (at 66181) by debbugs.gnu.org; 25 Sep 2023 08:43:20 +0000 Original-Received: from localhost ([127.0.0.1]:44134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkhBY-0007Hu-AR for submit@debbugs.gnu.org; Mon, 25 Sep 2023 04:43:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:42906) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qkhBW-0007Hh-0F for 66181@debbugs.gnu.org; Mon, 25 Sep 2023 04:43:19 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qkhBD-0008Ay-To; Mon, 25 Sep 2023 04:42:59 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=Qypdlp9dhNEPisTDbJ9CQ/IE7ByqKLMSfr20qHaNMMs=; b=hXElt+Q7EJnJ o4EOFhQ37FyCUIgHFVbq5Gdl9oUlwQUXAUkrruYRfRfviNo3EFUe0RYfMQl3XKy4bpM4rXSEKr9to 5Zg6jsRFoXu9Lp1lSDLQGKjrNa2kixw/ChyVELrV910+mtMhpK324RBigN+Hg0V9Y22NmSe5dkbW2 1FrxylsISAckCleHi0Fg13wh6vzxs/ccmf8iQt/eITJ0aXjxBNVdHH79xUmO/gjAUsPFru8y+60Dv QCM7YzHpyEjmWoQyGFcnzK/CW3lmHxCwUUMgQ5Q2FZrxqsYR8PYWAY0EX58rNTDgp19+Qb/AohFXB D+1V2OiMFgNMeA3wZMDVlQ==; In-Reply-To: <83bkdq3e42.fsf@gnu.org> (message from Eli Zaretskii on Mon, 25 Sep 2023 10:29:17 +0300) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:271308 Archived-At: > Cc: 66181@debbugs.gnu.org > Date: Mon, 25 Sep 2023 10:29:17 +0300 > From: Eli Zaretskii > > > From: Maske > > Date: Sun, 24 Sep 2023 13:32:04 +0200 > > > > I read a post, where Occur is used to edit a Dired buffer. Well, it > > doesn't work: > > > > - Tested in emacs -q > > - Make Dired buffer writable > > - Launch Occur > > - Make Occur buffer editable > > - Make changes in Occur buffer > > - Changes are not saved in Dired buffer. > > The last item is inaccurate. The changes in the Occur buffer _are_ > reflected in the Dired buffer, but typing "C-c C-c" in the Dired > buffer doesn't commit the changes to disk; instead it says "No changes > to be performed" and reverts to the previous display of Dired. This happens because WDired relies on before-change-functions to mark the portions of the Dired buffer which were edited. But Occur Edit mode modifies the target buffer from an after-change function, so buffer-modification hooks are disabled when the modifications are performed, and the before-change function installed by WDired isn't called. Which also means that any mode that relies on buffer-modification hooks will fail with the same symptoms when its buffer is edited indirectly via Occur Edit. Stefan, do we have any safe means of running the hooks in this case? I thought about running the buffer-local values of before- and after-change-functions by hand from occur-after-change-function, skipping the t entry, but I'm not sure this is safe. It is certainly messy, so if there's a more elegant way, I'd like to know.