From: Drew Adams <drew.adams@oracle.com>
Date: Tue, 23 Feb 2016 10:12:55 +0000 (+1100)
Subject: (ls-lisp-insert-directory): Make -B work
X-Git-Tag: emacs-25.0.92~55
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dfe16506a98681b390b119a137776f10ed637126;p=emacs.git

(ls-lisp-insert-directory): Make -B work

* lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
(bug#20776).

Backport:

(cherry picked from commit ef52e66efd78aac4c4e5bd5e11870e5ba3b37a1e)
---

diff --git a/lisp/ls-lisp.el b/lisp/ls-lisp.el
index 6b5304caada..85e91cdadc0 100644
--- a/lisp/ls-lisp.el
+++ b/lisp/ls-lisp.el
@@ -348,7 +348,9 @@ SWITCHES is a *list* of characters.  TIME-INDEX is the time index into
 file-attributes according to SWITCHES.  WILDCARD-REGEXP is nil or an *Emacs
 regexp*.  FULL-DIRECTORY-P means file is a directory and SWITCHES does
 not contain `d', so that a full listing is expected."
-  (if (or wildcard-regexp full-directory-p)
+  (if (or (and wildcard-regexp
+               (not (string= "[^~]\\'" wildcard-regexp))) ; Switch -B pseudo-wildcard regexp
+          full-directory-p)
       (let* ((dir (file-name-as-directory file))
 	     (default-directory dir)	; so that file-attributes works
 	     (file-alist