From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#65864: [PATCH] Add option to save a buffer without running save hooks Date: Mon, 11 Sep 2023 18:28:59 -0400 Message-ID: References: <83h6o0ri8c.fsf@gnu.org> Reply-To: Stefan Monnier Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40693"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 65864@debbugs.gnu.org, Daniel =?UTF-8?Q?Mart=C3=ADn?= To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Sep 12 00:31:16 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 1qfpR5-000AQ2-MS for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Sep 2023 00:31:15 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qfpQs-0000FT-GV; Mon, 11 Sep 2023 18:31:02 -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 1qfpQq-0000FF-EU for bug-gnu-emacs@gnu.org; Mon, 11 Sep 2023 18:31:00 -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 1qfpQp-00042r-16 for bug-gnu-emacs@gnu.org; Mon, 11 Sep 2023 18:31:00 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qfpQs-0001dX-Jn for bug-gnu-emacs@gnu.org; Mon, 11 Sep 2023 18:31:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Monnier Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 11 Sep 2023 22:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65864 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 65864-submit@debbugs.gnu.org id=B65864.16944714206240 (code B ref 65864); Mon, 11 Sep 2023 22:31:02 +0000 Original-Received: (at 65864) by debbugs.gnu.org; 11 Sep 2023 22:30:20 +0000 Original-Received: from localhost ([127.0.0.1]:55066 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfpQC-0001ca-C6 for submit@debbugs.gnu.org; Mon, 11 Sep 2023 18:30:20 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:45429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qfpQA-0001cF-HF for 65864@debbugs.gnu.org; Mon, 11 Sep 2023 18:30:19 -0400 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 897B38071E; Mon, 11 Sep 2023 18:30:08 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1694471407; bh=2Zp+fIRi9JxIAFhDU59qvSe9wKDG//z3YqudarSHj2A=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=G0ABmeTCca9VdX6osTdbwOQdTrwM/1BnbiuK8NGUEZl3Wx/hSNyf2FNCurNXIGjLy MUqXTkJtq/YuWmByJqBIP3Nx2FGzeDiK3h19sBGCj0SqO8HTwLvvQK+KTM9YzFesBF L5fVclH4C7Ja6EJbPl+VGKL71ELvm/kN/5YtHpuqa3y0QX39SaaO5SwBl+E3+AUsce SWAcqr8/EwZzcWd/2bbB2cT7V+OzOagM7yzW7Rw9LWdJ6jjizc5POTgoQb32ODyFOr zXLaUhGzXwh2DGRYXP09q/RrIpdQc9ML67Q0ZLEzFiTO4ecFc/X5guB2tsYjpS00U/ 4oPXGW58Ah9Tg== Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4C60C802BB; Mon, 11 Sep 2023 18:30:07 -0400 (EDT) Original-Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3C5B8120506; Mon, 11 Sep 2023 18:30:07 -0400 (EDT) In-Reply-To: <83h6o0ri8c.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 11 Sep 2023 15:45:39 +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:270095 Archived-At: >> Users can customize `before-save-hook' to add things like >> `delete-trailing-whitespace' or `copyright-update'. However, there are >> cases where you want to save a buffer without running any save hooks >> without changing your configuration and then changing it back. Do you have concrete examples, to helps us assess what's really at stake here? Maybe there are other ways to look at the problem :-) "without running any save hooks" at all really? Like without running `write-contents-functions`, nor `write-file-functions`, nor `write-region-annotat-functions`, nor `make-backup-file-name-function`, ...? How 'bout the file-name-handlers, then? Maybe `write-region` would be a better starting point than `buffer-save`? >> I've attached a patch to make `save-buffer', when invoked with a >> negative argument (C-u - C-x C-s), temporarily avoid running any save >> hooks. > > Should we perhaps consider a more general approach: run a command > while disabling the hooks it calls? It sounds strange to me to single > out just this one command. Hmm... sounds iffy. I generally prefer ordering a plain burger than ordering a "cheeseburger but hold the cheese" :-) IOW, provide *another* function which performs the core operation. [ And we usually do that. ] Stefan