From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Hugh Brown Newsgroups: gmane.emacs.bugs Subject: bug#96: lgrep/rgrep not asking to save buffers Date: Sun, 25 Jan 2015 07:54:07 -0800 Message-ID: <87a916c0v4.fsf@tethys.saintaardvarkthecarpeted.com> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1422207798 25308 80.91.229.3 (25 Jan 2015 17:43:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 25 Jan 2015 17:43:18 +0000 (UTC) Cc: 96@debbugs.gnu.org To: Tom Tromey Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Jan 25 18:43:14 2015 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 1YFRDM-0007eG-3T for geb-bug-gnu-emacs@m.gmane.org; Sun, 25 Jan 2015 18:43:12 +0100 Original-Received: from localhost ([::1]:38449 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFRDL-0007tr-Kk for geb-bug-gnu-emacs@m.gmane.org; Sun, 25 Jan 2015 12:43:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:40591) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFRDH-0007tb-UY for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 12:43:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YFRDE-0003N8-Mv for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 12:43:07 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37465) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFRDE-0003N4-JW for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 12:43:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1YFRDE-0005RK-5g for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 12:43:04 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Hugh Brown Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Jan 2015 17:43:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 96 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org, 96@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.142220773920759 (code B ref -1); Sun, 25 Jan 2015 17:43:04 +0000 Original-Received: (at submit) by debbugs.gnu.org; 25 Jan 2015 17:42:19 +0000 Original-Received: from localhost ([127.0.0.1]:56150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFRCU-0005Oc-9j for submit@debbugs.gnu.org; Sun, 25 Jan 2015 12:42:18 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:50978) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YFPW6-0007RL-5x for submit@debbugs.gnu.org; Sun, 25 Jan 2015 10:54:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YFPVz-0000yP-Kb for submit@debbugs.gnu.org; Sun, 25 Jan 2015 10:54:20 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:44661) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFPVz-0000yL-IY for submit@debbugs.gnu.org; Sun, 25 Jan 2015 10:54:19 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52678) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFPVy-0002HX-8x for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 10:54:19 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YFPVu-0000wS-CD for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 10:54:18 -0500 Original-Received: from smtp-relay2.uniserve.net ([216.210.109.135]:57198) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YFPVu-0000vI-4c for bug-gnu-emacs@gnu.org; Sun, 25 Jan 2015 10:54:14 -0500 Original-Received: from 216-86-112-192.dhcp554.dsl.ucc-net.ca ([216.86.112.192] helo=www.saintaardvarkthecarpeted.com) by smtp-relay2.uniserve.net with esmtp (Exim 4.72) (envelope-from ) id 1YFPVo-0002XX-QN; Sun, 25 Jan 2015 07:54:09 -0800 Original-Received: from tethys.saintaardvarkthecarpeted.com (tethys [192.168.23.251]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by www.saintaardvarkthecarpeted.com (Postfix) with ESMTPS id BDAD45CA; Sun, 25 Jan 2015 07:54:07 -0800 (PST) Original-Received: from aardvark by tethys.saintaardvarkthecarpeted.com with local (Exim 4.84) (envelope-from ) id 1YFPVn-0001da-6q; Sun, 25 Jan 2015 07:54:07 -0800 In-Reply-To: (Tom Tromey's message of "Sat, 29 Mar 2008 14:07:48 -0600") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-Sender-Info: aardvark@saintaardvarkthecarpeted.com X-Scanner: OK. Scanned. X-Uniserve-Spam-Score: 0.6 6 (/) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Sun, 25 Jan 2015 12:42:12 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.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:98715 Archived-At: --=-=-= Content-Type: text/plain Hi there -- I'm submitting a patch for this bug. It applies cleanly against the HEAD of the master branch right now (f67446455fc0ec59f5c25c90a8783e571b60dc8f). I'm following the directions in Lars Ingebrigtsen's "Welcome New Emacs Developers" post, and copyright assignment is on file with the FSF (RT #966206). If you need anything else from me, please let me know. Thanks, Hugh --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=bug-96-grep-ask-save.diff Content-Description: Patch for bug #96 diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el index 048fa11..27afc80 100644 --- a/lisp/progmodes/grep.el +++ b/lisp/progmodes/grep.el @@ -227,6 +227,28 @@ to determine whether cdr should not be excluded." (const :tag "No ignored files" nil)) :group 'grep) +;;;###autoload +(defcustom grep-ask-about-save t + "Non-nil means \\[grep], \\[lgrep] and \\[rgrep] ask which buffers to save before running. +Otherwise, it saves all modified buffers without asking." + :type 'boolean + :group 'grep) + +(defcustom grep-save-buffers-predicate nil + "The second argument (PRED) passed to `save-some-buffers' before compiling. +E.g., one can set this to + (lambda () + (string-prefix-p my-grep-root (file-truename (buffer-file-name)))) +to limit saving to files located under `my-grep-root'. +Note, that, in general, `grep-directory' cannot be used instead +of `my-grep-root' here." + :type '(choice + (const :tag "Default (save all file-visiting buffers)" nil) + (const :tag "Save all buffers" t) + function) + :group 'grep + :version "25.1") + (defcustom grep-error-screen-columns nil "If non-nil, column numbers in grep hits are screen columns. See `compilation-error-screen-columns'" @@ -753,6 +775,8 @@ list is empty)." 'grep-history (if current-prefix-arg nil default)))))) + (save-some-buffers (not grep-ask-about-save) + grep-save-buffers-predicate) ;; Setting process-setup-function makes exit-message-function work ;; even when async processes aren't supported. (compilation-start (if (and grep-use-null-device null-device) @@ -937,6 +961,8 @@ This command shares argument histories with \\[rgrep] and \\[grep]." (let ((default-directory dir)) ;; Setting process-setup-function makes exit-message-function work ;; even when async processes aren't supported. + (save-some-buffers (not grep-ask-about-save) + grep-save-buffers-predicate) (compilation-start (if (and grep-use-null-device null-device) (concat command " " null-device) command) @@ -1050,6 +1076,8 @@ to specify a command to run." (read-from-minibuffer "Confirm: " command nil nil 'grep-find-history)) (add-to-history 'grep-find-history command)) + (save-some-buffers (not grep-ask-about-save) + grep-save-buffers-predicate) (let ((default-directory dir)) (compilation-start command 'grep-mode)) ;; Set default-directory if we started rgrep in the *grep* buffer. --=-=-= Content-Type: text/plain -- Hugh Brown aardvark@saintaardvarkthecarpeted.com http://saintaardvarkthecarpeted.com Because the plural of Anecdote is Myth. --=-=-=--