From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bob Rogers Newsgroups: gmane.emacs.bugs Subject: bug#7350: 24.0.50; make vc-deduce-backend smarter Date: Sat, 6 Nov 2010 18:18:08 -0400 Message-ID: <19669.54304.980911.220632@rgr.rgrjr.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1289083429 28117 80.91.229.12 (6 Nov 2010 22:43:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 6 Nov 2010 22:43:49 +0000 (UTC) To: 7350@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Nov 06 23:43:45 2010 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1PErU8-0005on-AU for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Nov 2010 23:43:44 +0100 Original-Received: from localhost ([127.0.0.1]:51069 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PErU7-0008Lw-Tg for geb-bug-gnu-emacs@m.gmane.org; Sat, 06 Nov 2010 18:43:43 -0400 Original-Received: from [140.186.70.92] (port=38253 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PErU3-0008Lb-Es for bug-gnu-emacs@gnu.org; Sat, 06 Nov 2010 18:43:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PErU2-0006uv-5b for bug-gnu-emacs@gnu.org; Sat, 06 Nov 2010 18:43:39 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43842) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PErU2-0006uo-41 for bug-gnu-emacs@gnu.org; Sat, 06 Nov 2010 18:43:38 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1PEr4I-0003zc-0g; Sat, 06 Nov 2010 18:17:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Bob Rogers Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Nov 2010 22:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 7350 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.128908178115335 (code B ref -1); Sat, 06 Nov 2010 22:17:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 6 Nov 2010 22:16:21 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PEr3c-0003zG-DX for submit@debbugs.gnu.org; Sat, 06 Nov 2010 18:16:21 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1PEr14-0003xk-7Z for submit@debbugs.gnu.org; Sat, 06 Nov 2010 18:13:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PEr5T-0003zI-6B for submit@debbugs.gnu.org; Sat, 06 Nov 2010 18:18:16 -0400 Original-Received: from lists.gnu.org ([199.232.76.165]:42531) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PEr5T-0003zD-47 for submit@debbugs.gnu.org; Sat, 06 Nov 2010 18:18:15 -0400 Original-Received: from [140.186.70.92] (port=49330 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PEr5Q-0003lx-PO for bug-gnu-emacs@gnu.org; Sat, 06 Nov 2010 18:18:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PEr5P-0003xu-Kj for bug-gnu-emacs@gnu.org; Sat, 06 Nov 2010 18:18:12 -0400 Original-Received: from rgrjr.com ([216.146.47.5]:53719) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PEr5P-0003xj-Hv for bug-gnu-emacs@gnu.org; Sat, 06 Nov 2010 18:18:11 -0400 Original-Received: from rgrjr.dyndns.org (c-66-30-196-77.hsd1.ma.comcast.net [66.30.196.77]) by rgrjr.com (Postfix on CentOS) with ESMTP id CCE3A160125 for ; Sat, 6 Nov 2010 22:18:09 +0000 (UTC) Original-Received: (qmail 29985 invoked by uid 89); 6 Nov 2010 22:18:09 -0000 Original-Received: from unknown (HELO rgr.rgrjr.com) (192.168.57.1) by home with SMTP; 6 Nov 2010 22:18:09 -0000 Original-Received: by rgr.rgrjr.com (Postfix, from userid 500) id 3D937A4E03; Sat, 6 Nov 2010 18:18:09 -0400 (EDT) X-Mailer: VM 7.19 under Emacs 24.0.50.1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Mailman-Approved-At: Sat, 06 Nov 2010 18:16:19 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Sat, 06 Nov 2010 18:17:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) 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: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:41417 Archived-At: I notice that vc-root-diff only works if the current buffer is visiting a version-controlled file, and in certain other buffer modes. In particular, it works in dired-mode, where it uses the default-directory, but not in shell-mode, which is not one of the explicit special cases. ISTM that using default-directory would make a better default case, since that ought to DTRT in the majority of cases. Indeed, one might be able to get rid of some of the other vc-deduce-backend cases, since most such modes seem to need to set up the right default-directory anyway. -- Bob Rogers http://www.rgrjr.com/ ------------------------------------------------------------------------ diff --git a/lisp/vc/vc.el b/lisp/vc/vc.el index 665dafb..ddeb546 100644 --- a/lisp/vc/vc.el +++ b/lisp/vc/vc.el @@ -920,9 +920,9 @@ Within directories, only files already under version control are noticed." (cond ((derived-mode-p 'vc-dir-mode) vc-dir-backend) ((derived-mode-p 'log-view-mode) log-view-vc-backend) ((derived-mode-p 'diff-mode) diff-vc-backend) - ((derived-mode-p 'dired-mode) - (vc-responsible-backend default-directory)) - (vc-mode (vc-backend buffer-file-name)))) + (vc-mode (vc-backend buffer-file-name)) + (default-directory + (vc-responsible-backend default-directory)))) (declare-function vc-dir-current-file "vc-dir" ()) (declare-function vc-dir-deduce-fileset "vc-dir" (&optional state-model-only-files))