summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/vc/vc-bzr.el26
2 files changed, 29 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 488d9d4229f..f0d01df98af 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-22 Glenn Morris <rgm@gnu.org>
+
+ * vc/vc-bzr.el (vc-bzr-status-switches): New option. (Bug#6724)
+ (vc-bzr-command): If running "status", pass vc-bzr-status-switches.
+
2012-03-22 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/network-stream.el (network-stream-open-starttls): Make error
diff --git a/lisp/vc/vc-bzr.el b/lisp/vc/vc-bzr.el
index 9f35fc8f035..0c1e07d44cc 100644
--- a/lisp/vc/vc-bzr.el
+++ b/lisp/vc/vc-bzr.el
@@ -89,18 +89,40 @@ If nil, use the value of `vc-diff-switches'. If t, use no switches."
(repeat :tag "Argument List" :value ("") string))
:group 'vc-bzr)
+(defcustom vc-bzr-status-switches
+ (ignore-errors
+ (with-temp-buffer
+ (call-process vc-bzr-program nil t nil "help" "status")
+ (goto-char (point-min))
+ (if (search-forward "--no-classify")
+ "--no-classify")))
+ "String or list of strings specifying switches for bzr status under VC.
+The option \"--no-classify\" should be present if your bzr supports it."
+ :type '(choice (const :tag "None" nil)
+ (string :tag "Argument String")
+ (repeat :tag "Argument List" :value ("") string))
+ :group 'vc-bzr
+ :version "24.1")
+
;; since v0.9, bzr supports removing the progress indicators
;; by setting environment variable BZR_PROGRESS_BAR to "none".
(defun vc-bzr-command (bzr-command buffer okstatus file-or-list &rest args)
"Wrapper round `vc-do-command' using `vc-bzr-program' as COMMAND.
Invoke the bzr command adding `BZR_PROGRESS_BAR=none' and
-`LC_MESSAGES=C' to the environment."
+`LC_MESSAGES=C' to the environment. If BZR-COMMAND is \"status\",
+prepends `vc-bzr-status-switches' to ARGS."
(let ((process-environment
(list* "BZR_PROGRESS_BAR=none" ; Suppress progress output (bzr >=0.9)
"LC_MESSAGES=C" ; Force English output
process-environment)))
(apply 'vc-do-command (or buffer "*vc*") okstatus vc-bzr-program
- file-or-list bzr-command args)))
+ file-or-list bzr-command
+ (if (string-equal "status" bzr-command)
+ (append (if (stringp vc-bzr-status-switches)
+ (list vc-bzr-status-switches)
+ vc-bzr-status-switches)
+ args)
+ args))))
(defun vc-bzr-async-command (bzr-command &rest args)
"Wrapper round `vc-do-async-command' using `vc-bzr-program' as COMMAND.