From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Drew Adams" Newsgroups: gmane.emacs.bugs Subject: bug#13197: 24.3.50; org-odt.el code that kills modified buffers Date: Sat, 15 Dec 2012 14:35:45 -0800 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1355611021 2621 80.91.229.3 (15 Dec 2012 22:37:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 15 Dec 2012 22:37:01 +0000 (UTC) To: 13197@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Dec 15 23:37:16 2012 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 1Tk0M6-0004LC-Ut for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Dec 2012 23:37:15 +0100 Original-Received: from localhost ([::1]:47457 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tk0Lt-00025k-Lz for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Dec 2012 17:37:01 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:36335) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tk0Lq-00025f-Ho for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:36:59 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tk0Lp-0008Dn-3B for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:36:58 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:34204) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tk0Lo-0008Dh-W6 for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:36:57 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Tk0Ms-0001fq-Bs for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:38:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: "Drew Adams" Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Dec 2012 22:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 13197 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: Original-Received: via spool by submit@debbugs.gnu.org id=B.13556110306375 (code B ref -1); Sat, 15 Dec 2012 22:38:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 15 Dec 2012 22:37:10 +0000 Original-Received: from localhost ([127.0.0.1]:44455 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tk0M1-0001el-Dl for submit@debbugs.gnu.org; Sat, 15 Dec 2012 17:37:10 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:53013) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Tk0Lz-0001ee-DK for submit@debbugs.gnu.org; Sat, 15 Dec 2012 17:37:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tk0Ku-0007vE-3m for submit@debbugs.gnu.org; Sat, 15 Dec 2012 17:36:01 -0500 Original-Received: from lists.gnu.org ([208.118.235.17]:57015) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tk0Kt-0007vA-WB for submit@debbugs.gnu.org; Sat, 15 Dec 2012 17:36:00 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:36138) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tk0Kr-0001qf-Dy for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:35:59 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tk0Kp-0007uV-EB for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:35:57 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:48288) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tk0Kp-0007uP-6W for bug-gnu-emacs@gnu.org; Sat, 15 Dec 2012 17:35:55 -0500 Original-Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.2) with ESMTP id qBFMZrCp032191 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sat, 15 Dec 2012 22:35:54 GMT Original-Received: from acsmt356.oracle.com (acsmt356.oracle.com [141.146.40.156]) by ucsinet22.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id qBFMZqKw022788 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sat, 15 Dec 2012 22:35:53 GMT Original-Received: from abhmt116.oracle.com (abhmt116.oracle.com [141.146.116.68]) by acsmt356.oracle.com (8.12.11.20060308/8.12.11) with ESMTP id qBFMZqEA011417 for ; Sat, 15 Dec 2012 16:35:52 -0600 Original-Received: from dradamslap1 (/71.202.147.44) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Sat, 15 Dec 2012 14:35:52 -0800 X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Thread-Index: Ac3bFIWa+BGGFyySS4Wkkv+9DBhsXQ== X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.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-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:68590 Archived-At: This is a question, but it might also be a bug report regarding the code cited. IIUC, `set-buffer-modified-p' (and also `restore-buffer-modified-p', which is a lousy name BTW) always acts on the current buffer. There is no way to tell it which buffer to act on, other than, say, using `with-current-buffer'. I use `find-file-noselect' over a large set of files, and at a later point I kill many such visited-file buffers. But even just `find-file-no-select' can cause visiting to modify some buffers. So when I go to kill them I need to prevent the user being queried about killing a modified buffer. I was grepping some source files to see how other code handles this kind of thing, and I came across this in org-odt.el (in `org-odt-cleanup-xml-buffers'): (mapc (lambda (file) (let ((buf (find-file-noselect (expand-file-name file org-odt-zip-dir) t))) (when (buffer-name buf) (set-buffer-modified-p nil) (kill-buffer buf)))) xml-files) I don't see how that can work properly, since `find-file-noselect' does not make the visited-file buffer current, and `set-buffer-modified-p' acts only on the current buffer. Am I missing something here, or is that a bug? In any case, I would like to learn more about this. Currently I am doing this (since this code is for Emacs 23+, which has `restore-buffer-modified-p'): (with-current-buffer buf (restore-buffer-modified-p nil) (kill-buffer buf)) Is there a way to accomplish that without making BUF current? In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600) of 2012-12-13 on ODIEONE Bzr revision: 111211 eggert@cs.ucla.edu-20121213021749-eyqqen0ewhn2hogq Windowing system distributor `Microsoft Corp.', version 5.1.2600 Configured using: `configure --with-gcc (4.7) --no-opt --enable-checking --cflags -IC:/Devel/emacs/build/include -Wall -Wextra -Wno-sign-compare -Wno-type-limits -Wno-missing-field-initializers -Wno-pointer-sign -Wdeclaration-after-statement --ldflags -LC:/Devel/emacs/build/lib'