From: Dmitry Gutov Date: Mon, 10 Nov 2014 01:29:58 +0000 (+0200) Subject: Fix bug#18964 X-Git-Tag: emacs-25.0.90~2635^2~512 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=91982ede583f0575844feb8b4c73de9529bb0876;p=emacs.git Fix bug#18964 * lisp/vc/vc-dir.el (vc-dir-hide-state): Also hide `ignored' items when no state is specified. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a01dadad706..572de2ed950 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-11-10 Dmitry Gutov + + * vc/vc-dir.el (vc-dir-hide-state): Also hide `ignored' items when + no state is specified. (Bug#18964) + 2014-11-09 Eric Ludlam * emacs-lisp/eieio-custom.el (eieio-customize-object): Set diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index be3b1fa94b5..a26287aa0f7 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1125,18 +1125,18 @@ outside of VC) and one wants to do some operation on it." "Hide items that are in STATE from display. See `vc-state' for valid values of STATE. -If STATE is nil, default it to up-to-date. +If STATE is nil, hide both `up-to-date' and `ignored' items. Interactively, if `current-prefix-arg' is non-nil, set STATE to -state of item at point. Otherwise, set STATE to up-to-date." +state of item at point, if any." (interactive (list (and current-prefix-arg ;; Command is prefixed. Infer STATE from point. (let ((node (ewoc-locate vc-ewoc))) (and node (vc-dir-fileinfo->state (ewoc-data node))))))) - ;; If STATE is un-specified, use up-to-date. - (setq state (or state 'up-to-date)) - (message "Hiding items in state \"%s\"" state) + (if state + (message "Hiding items in state \"%s\"" state) + (message "Hiding up-to-date and ignored items")) (let ((crt (ewoc-nth vc-ewoc -1)) (first (ewoc-nth vc-ewoc 0))) ;; Go over from the last item to the first and remove the @@ -1157,8 +1157,10 @@ state of item at point. Otherwise, set STATE to up-to-date." ;; Next item is a directory. (vc-dir-fileinfo->directory (ewoc-data next)))) ;; Remove files in specified STATE. STATE can be a - ;; symbol or a user-name. - (equal (vc-dir-fileinfo->state data) state)) + ;; symbol, a user-name, or nil. + (if state + (equal (vc-dir-fileinfo->state data) state) + (memq (vc-dir-fileinfo->state data) '(up-to-date ignored)))) (ewoc-delete vc-ewoc crt)) (setq crt prev)))))